|
ROSE
0.9.6a
|
This file implements generic (template) sage query functions Currently this includes functions for: More...
#include <stdexcept>#include <typeinfo>#include <iostream>#include "rose.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< T > |
| implementation for dispatcher objects ( invokes roseVisitor.handle(sgnode) ) More... | |
| struct | sg::VisitDispatcher< T * > |
| implementation for dispatcher pointers ( invokes roseVisitor->handle(sgnode) ) More... | |
| struct | sg::DefaultHandler< SageNode > |
| struct | sg::AncestorTypeFinder< AncestorNode, QualSgNode > |
| helper class for _ancestor More... | |
| struct | sg::TypeRecoveryHandler< SageNode > |
Namespaces | |
| sg | |
Constant Groups | |
| sg | |
Functions | |
| template<class T > | |
| static void | sg::unused (const T &) |
| portable implementation to avoid compiler warnings for unused parameter. More... | |
| template<class T > | |
| T & | sg::deref (T *ptr) |
| dereferences an object (= checked dereference in debug mode) More... | |
| static void | sg::unexpected_node (const SgNode &n) |
| template<class SageNode > | |
| static SageNode & | sg::assume_sage_type (SgNode &n) |
| unchecked down cast from SgNode to SageNode More... | |
| template<class SageNode > | |
| static const SageNode & | sg::assume_sage_type (const SgNode &n) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More... | |
| template<class RoseVisitor , class SageNode > | |
| static RoseVisitor | sg::_dispatch (RoseVisitor rv, SageNode *n) |
| for internal use (use dispatch instead) More... | |
| 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) |
| static void | sg::swap_parent (SgNode *lhs, SgNode *rhs) |
| swaps the parent pointer of two nodes More... | |
| static void | sg::swap_parent (void *, void *) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More... | |
| 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.