ROSE
0.9.10.164
|
This file implements generic (template) sage query functions Currently this includes functions for: More...
#include <stdexcept>
#include <typeinfo>
#include <iostream>
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::TraversalFunction< SageNode > |
executes a functor for a specific node type More... | |
struct | sg::TraversalClass< GVisitor > |
struct | sg::DispatchHelper< GVisitor > |
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... | |
This file implements generic (template) sage query functions Currently this includes functions for:
Definition in file sageGeneric.h.