LIBINT
2.6.0
|
RTimeEntity is an Entity of type T that exists at runtime of the generated code (hence has no value known at compile-time) More...
#include <entity.h>
Public Types | |
typedef DGVertex::KeyType | key_type |
![]() | |
typedef MemoryManager::Address | Address |
The address on the stack during computation is described using this type. | |
typedef MemoryManager::Size | Size |
The size of a block the stack during computation is described using this type. | |
typedef NotSet< Address > | AddressNotSet |
Exception thrown if address is not set. | |
typedef NotSet< std::string > | GraphLabelNotSet |
Exception thrown if graph label is not set. | |
typedef NotSet< std::string > | SymbolNotSet |
Exception thrown if code symbol is not set. | |
typedef KeyTypes::ClassID | ClassID |
Type identifier. | |
typedef KeyTypes::InstanceID | InstanceID |
Instance identifier. | |
typedef KeyTypes::InstanceID | KeyType |
DGVertex provides function key() which computes key of type KeyType and returns it using KeyReturnType. | |
typedef Hashable< KeyType, ComputeKey >::KeyReturnType | KeyReturnType |
typedef std::list< SafePtr< DGArc > > | ArcSetType |
ArcSetType is a container used to maintain entry and exit arcs. | |
![]() | |
typedef KeyTraits< KeyTypes::InstanceID >::ReturnType | KeyReturnType |
Public Member Functions | |
RTimeEntity (const std::string &id, bool p=true) | |
unsigned int | size () const |
Implementation of DGVertex::size() | |
bool | equiv (const SafePtr< DGVertex > &a) const |
Implementation of DGVertex::equiv() | |
const std::string & | label () const |
Implementation of DGVertex::label() | |
const std::string & | id () const |
Implementation of DGVertex::id() | |
std::string | description () const |
Implementation of DGVertex::description() | |
DGVertex::KeyReturnType | key () const |
Implements Hashable::key() | |
![]() | |
const std::string & | id () const |
Return id string. | |
![]() | |
DGVertex (ClassID tid) | |
Sets typeid to tid. | |
DGVertex (ClassID tid, const std::vector< SafePtr< DGArc > > &parents, const std::vector< SafePtr< DGArc > > &children) | |
Sets typeid to tid. | |
DGVertex (const DGVertex &v) | |
This is a copy constructor. | |
void | make_a_target () |
make_a_target() marks this vertex as a target | |
bool | is_a_target () const |
is_a_target() returns true if this vertex is a target | |
virtual void | add_exit_arc (const SafePtr< DGArc > &) |
add_exit_arc(arc) adds arc as an arc connecting to children of this vertex. More... | |
virtual void | del_exit_arcs () |
del_exit_arcs() removes all exit arcs from this and corresponding children vertices. More... | |
void | replace_exit_arc (const SafePtr< DGArc > &A, const SafePtr< DGArc > &B) |
replace_exit_arc() replaces A with B. More... | |
void | detach () |
this function detaches the vertex from other vertices. More... | |
const ArcSetType & | exit_arcs () const |
const ArcSetType & | entry_arcs () const |
unsigned int | num_entry_arcs () const |
returns the number of parents | |
ArcSetType::const_iterator | first_entry_arc () const |
returns parents::begin() | |
ArcSetType::const_iterator | plast_entry_arc () const |
returns parents::end() | |
unsigned int | num_exit_arcs () const |
returns the number of children | |
ArcSetType::const_iterator | first_exit_arc () const |
returns children::begin() | |
ArcSetType::const_iterator | plast_exit_arc () const |
returns children::end() | |
const SafePtr< DGArc > & | exit_arc (const SafePtr< DGVertex > &v) const |
return arc connecting this to v, otherwise null pointer | |
bool | precomputed () const |
precomputed() returns whether this DGVertex is precomputed. More... | |
virtual void | print (std::ostream &os) const |
print(os) prints vertex info to os | |
const DirectedGraph * | dg () const |
Returns pointer to the DirectedGraph to which this DGVertex belongs to. | |
void | dg (const DirectedGraph *d) |
Sets pointer to the DirectedGraph to which this DGVertex belongs to. Should be used with utmost caution. | |
const std::string & | graph_label () const |
returns the label used for this vertex when visualizing graph. can throw GraphLabelNotSet. | |
void | set_graph_label (const std::string &graph_label) |
sets the graph label | |
const SafePtr< DRTree > & | subtree () const |
Returns the subtree to which this vertex belongs. | |
void | refer_this_to (const SafePtr< DGVertex > &V) |
refer_this_to(V) makes this vertex act like a reference to V so that calls to symbol() and address() report code symbol and stack address of V | |
bool | refers_to_another () const |
refers to another vertex? | |
const std::string & | symbol () const |
returns the code symbol. can throw SymbolNotSet | |
void | set_symbol (const std::string &symbol) |
sets the code symbol | |
bool | symbol_set () const |
returns true if the symbol has been set | |
void | reset_symbol () |
this function void the symbol, i.e. it is no longer set after calling this member | |
Address | address () const |
returns the address of this quantity on Libint's stack. can throw AddressNotSet | |
void | set_address (const Address &address) |
sets the address of this quantity on Libint's stack | |
bool | address_set () const |
returns true if the address has been set | |
void | need_to_compute (bool ntc) |
indicates whether this vertex needs to be computed. More... | |
void | not_need_to_compute () |
shortcut to need_to_compute(false) | |
bool | need_to_compute () const |
returns true if this index needs to be computed. | |
bool | declared () const |
void | declared (bool d) |
void | prepare_to_traverse () |
prepare_to_traverse() must be called before traversal of the graph starts | |
unsigned int | tag () |
tag() tags the vertex and returns the total number of tags this vertex has received | |
void | schedule () |
schedule() marks the vertex as scheduled, hence its code exists | |
bool | scheduled () const |
scheduled() returns true if the vertex has been scheduled | |
SafePtr< DGVertex > | postcalc () const |
Returns pointer to vertex to be computed after this vertex, 0 if this is the last vertex. | |
void | set_postcalc (const SafePtr< DGVertex > &postcalc) |
Sets postcalc. | |
void | reset () |
Resets the vertex, releasing all arcs. | |
virtual void | unregister () const |
If vertex is a singleton then remove it from the SingletonManager. Must be reimplemented in derived singleton class. | |
Additional Inherited Members | |
![]() | |
ClassID | typeid_ |
typeid stores the ClassID of the concrete type. More... | |
InstanceID | instid_ |
instid stores the InstanceID of the object. More... | |
![]() | |
Entity (const std::string &id) | |
![]() | |
KeyStore< KeyTypes::InstanceID, OwnKey< KeyMP >::result > | key_ |
RTimeEntity is an Entity of type T that exists at runtime of the generated code (hence has no value known at compile-time)