LIBINT  2.6.0
Public Types | Public Member Functions | Static Public Member Functions | List of all members
libint2::RRStackBase< RR > Class Template Reference

RRStack implements a stack of RecurrenceRelation's which can only hold one instance of a given RR. More...

#include <rr.h>

Inheritance diagram for libint2::RRStackBase< RR >:
Inheritance graph
[legend]
Collaboration diagram for libint2::RRStackBase< RR >:
Collaboration graph
[legend]

Public Types

typedef SingletonStack< RR, std::string > parent_type
 
typedef parent_type::data_type data_type
 
typedef parent_type::value_type value_type
 
typedef parent_type::iter_type iter_type
 
typedef parent_type::citer_type citer_type
 
typedef parent_type::InstanceID InstanceID
 
- Public Types inherited from libint2::SingletonStack< RR, std::string >
typedef std::string key_type
 
typedef SafePtr< RR > data_type
 
typedef KeyTypes::InstanceID InstanceID
 Specifies type for the instance index variables.
 
typedef std::pair< InstanceID, SafePtr< RR > > value_type
 
typedef std::map< key_type, value_type > map_type
 
typedef map_type::iterator iter_type
 use iter_type objects to iterate over the stack
 
typedef map_type::const_iterator citer_type
 const version of iter_type
 
typedef KeyTraits< key_type >::ReturnType key_return_type
 hashing function returns keys as key_return_type
 
typedef key_return_type(RR ::* HashingFunction) () const
 Specifies the type of callback which computes hashes.
 
typedef PurgeableStack< RR >::PurgingPolicy PurgingPolicy
 PurgingPolicy determines whether and which objects on this stack are obsolete and can be removed.
 

Public Member Functions

void add (const SafePtr< RRStackBase< RR > > &rrs)
 adds content of rrs to this stack
 
void remove (const data_type &rr)
 removes rr from the stack
 
- Public Member Functions inherited from libint2::SingletonStack< RR, std::string >
 SingletonStack (HashingFunction callback)
 callback to compute hash values is the only parameter
 
const value_type & find (const SafePtr< RR > &obj)
 Returns the pointer to the unique instance of object obj. More...
 
const value_type & find (const key_type &key)
 Returns the pointer to the unique instance of object corresponding to key. More...
 
const value_type & find_hashed (const InstanceID &hashed_key) const
 Returns the pointer to the unique instance of object corresponding to the hashed_key. More...
 
void remove (const SafePtr< RR > &obj)
 Searches for obj on the stack and, if found, removes the unique instance.
 
citer_type begin () const
 Returns iterator to the beginning of the stack.
 
citer_type end () const
 Returns iterator to the end of the stack.
 
virtual void purge ()
 

Static Public Member Functions

static SafePtr< RRStackBase< RR > > & Instance ()
 Obtain the unique Instance of RRStack.
 

Additional Inherited Members

- Protected Types inherited from libint2::PurgeableStack< RR >
typedef DefaultPurgingPolicy< RR > PurgingPolicy
 

Detailed Description

template<typename RR>
class libint2::RRStackBase< RR >

RRStack implements a stack of RecurrenceRelation's which can only hold one instance of a given RR.

RecurrenceRelation::label() is used for hashing


The documentation for this class was generated from the following file: