PolyBoRi
Public Types | Public Member Functions | List of all members
polybori::CCacheManagement< ManagerType, CacheType, ArgumentLength > Class Template Reference

This template class forms the base for CCommutativeCacheManagement and CacheManager. It is an interface defining find and insert on decision diagram cache. More...

#include <CCacheManagement.h>

Inheritance diagram for polybori::CCacheManagement< ManagerType, CacheType, ArgumentLength >:
polybori::CCacheManBase< ManagerType, CacheType, ArgumentLength >

Public Types

typedef CCacheManBase
< manager_type, cache_type,
nargs
base
 Name base type. More...
 
typedef base::node_type node_type
 Extracting inherited node type. More...
 
Get template parameters and global types
enum  { nargs = ArgumentLength }
 
typedef ManagerType manager_type
 
typedef manager_type::deg_type deg_type
 
typedef manager_type::size_type size_type
 
typedef manager_type::idx_type idx_type
 
typedef CacheType cache_type
 

Public Member Functions

 CCacheManagement (const manager_type &mgr)
 Constructor and default constructor. More...
 

Detailed Description

template<class ManagerType, class CacheType, unsigned ArgumentLength = CacheType::nargs>
class polybori::CCacheManagement< ManagerType, CacheType, ArgumentLength >

This template class forms the base for CCommutativeCacheManagement and CacheManager. It is an interface defining find and insert on decision diagram cache.

It it mainly a wrapper for the template specialization of CCacheManBase, which allows a simple call of CCacheManagement<CacheType>, if CacheType is inherited from unary_cache_tag, binary_cache_tag, and ternary_cache_tag. It also fixes the ManagerType to CTypes::manager_base.

Member Typedef Documentation

template<class ManagerType, class CacheType, unsigned ArgumentLength = CacheType::nargs>
typedef CCacheManBase<manager_type, cache_type, nargs> polybori::CCacheManagement< ManagerType, CacheType, ArgumentLength >::base

Name base type.

template<class ManagerType, class CacheType, unsigned ArgumentLength = CacheType::nargs>
typedef CacheType polybori::CCacheManagement< ManagerType, CacheType, ArgumentLength >::cache_type
template<class ManagerType, class CacheType, unsigned ArgumentLength = CacheType::nargs>
typedef manager_type::deg_type polybori::CCacheManagement< ManagerType, CacheType, ArgumentLength >::deg_type
template<class ManagerType, class CacheType, unsigned ArgumentLength = CacheType::nargs>
typedef manager_type::idx_type polybori::CCacheManagement< ManagerType, CacheType, ArgumentLength >::idx_type
template<class ManagerType, class CacheType, unsigned ArgumentLength = CacheType::nargs>
typedef ManagerType polybori::CCacheManagement< ManagerType, CacheType, ArgumentLength >::manager_type
template<class ManagerType, class CacheType, unsigned ArgumentLength = CacheType::nargs>
typedef base::node_type polybori::CCacheManagement< ManagerType, CacheType, ArgumentLength >::node_type

Extracting inherited node type.

template<class ManagerType, class CacheType, unsigned ArgumentLength = CacheType::nargs>
typedef manager_type::size_type polybori::CCacheManagement< ManagerType, CacheType, ArgumentLength >::size_type

Member Enumeration Documentation

template<class ManagerType, class CacheType, unsigned ArgumentLength = CacheType::nargs>
anonymous enum
Enumerator
nargs 

Constructor & Destructor Documentation

template<class ManagerType, class CacheType, unsigned ArgumentLength = CacheType::nargs>
polybori::CCacheManagement< ManagerType, CacheType, ArgumentLength >::CCacheManagement ( const manager_type mgr)
inline

Constructor and default constructor.


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