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.