ROSE  0.9.9.139
Classes | Macros | Functions
sageGeneric.h File Reference

This file implements generic (template) sage query functions Currently this includes functions for: More...

#include <stdexcept>
#include <typeinfo>
#include <iostream>
Include dependency graph for sageGeneric.h:

Go to the source code of this file.

Classes

struct  sg::ConstLike< T1, T2 >
 projects the constness of T1 on T2 More...
 
struct  sg::ConstLike< const T1, T2 >
 
struct  sg::DispatchHandler< _ReturnType >
 
struct  sg::VisitDispatcher< RoseVisitor >
 
struct  sg::DefaultHandler< SageNode >
 
struct  sg::AncestorTypeFinder< AncestorNode, QualSgNode >
 helper class for _ancestor More...
 
struct  sg::TypeRecoveryHandler< SageNode >
 

Macros

#define WITH_BINARY_ANALYSIS   0
 
#define GEN_VISIT(X)   void visit(X * n) { rv.handle(*n); }
 

Functions

template<class T >
T & sg::deref (T *ptr)
 dereferences an object (= checked dereference in debug mode)
 
template<class RoseVisitor >
RoseVisitor sg::_dispatch (const RoseVisitor &rv, SgNode *n)
 
template<class RoseVisitor >
RoseVisitor sg::dispatch (const RoseVisitor &rv, SgNode *n)
 uncovers the type of SgNode and passes it to an overloaded function handle in RoseVisitor. More...
 
template<class RoseVisitor >
RoseVisitor sg::dispatch (const RoseVisitor &rv, const SgNode *n)
 
template<class AncestorNode , class QualSgNode >
AncestorNode * sg::_ancestor (QualSgNode &n)
 implements the ancestor search More...
 
template<class AncestorNode >
AncestorNode * sg::ancestor (SgNode *n)
 finds an ancestor node with a given type More...
 
template<class AncestorNode >
const AncestorNode * sg::ancestor (const SgNode *n)
 
template<class AncestorNode >
AncestorNode & sg::ancestor (SgNode &n)
 
template<class AncestorNode >
const AncestorNode & sg::ancestor (const SgNode &n)
 
template<class SageNode >
SageNode * sg::assert_sage_type (SgNode *n)
 asserts that n has type SageNode More...
 
template<class SageNode >
const SageNode * sg::assert_sage_type (const SgNode *n)
 
template<class SageNode , class SageChild >
void sg::swap_child (SageNode &lhs, SageNode &rhs, SageChild *(SageNode::*getter)() const, void(SageNode::*setter)(SageChild *))
 swaps children (of equal kind) between two ancestor nodes of the same type More...
 

Detailed Description

This file implements generic (template) sage query functions Currently this includes functions for:

Definition in file sageGeneric.h.