This is the abstract factory for cache policy. More...
#include <AbstractCachePolicyFactory.h>
Public Types | |
typedef FactoryDictionary < AbstractFactory < AbstractCachePolicy, std::string, TKEYCOMPARE > , std::string, TKEYCOMPARE > | dictionary_type |
typedef AbstractFactory | factory_type |
Public Member Functions | |
const std::string & | getKey () const |
It returns the factory key associated to the concreate factory. More... | |
virtual const std::string & | getType () const =0 |
Returns the type (name) of this factory. More... | |
virtual | ~AbstractCachePolicyFactory () |
Destructor. More... | |
Static Public Member Functions | |
static const factory_type * | find (const std::string &factoryKey) |
static dictionary_type & | getDictionary () |
It returns a reference to the internal dictionary of concrete factories. More... | |
static AbstractCachePolicy * | make () |
It creates and returns default cache policy. More... | |
static AbstractCachePolicy * | make (const std::string &cpType) |
It creates a cache policy with the proper type. More... | |
Protected Member Functions | |
AbstractCachePolicyFactory (const std::string &factoryKey) | |
Constructor. More... | |
virtual AbstractCachePolicy * | build ()=0 |
Concrete factories (derived from this one) must implement this method in order to create objects. More... | |
Protected Attributes | |
std::string | m_factoryKey |
The key that identifies the concrete factory: it will be used for unregistering the factory during destruction. More... | |
This is the abstract factory for cache policy.
Definition at line 49 of file AbstractCachePolicyFactory.h.
|
inherited |
Definition at line 73 of file AbstractFactory.h.
|
inherited |
Definition at line 77 of file AbstractFactory.h.
|
inlinevirtual |
Destructor.
Definition at line 75 of file AbstractCachePolicyFactory.h.
|
protected |
Constructor.
factoryKey | The key that identifies the factory. |
Definition at line 48 of file AbstractCachePolicyFactory.cpp.
|
protectedpure virtualinherited |
Concrete factories (derived from this one) must implement this method in order to create objects.
Implemented in te::graph::FIFOCachePolicyFactory, and te::graph::LFUCachePolicyFactory.
|
staticinherited |
|
staticinherited |
It returns a reference to the internal dictionary of concrete factories.
The dictionary is a singleton.
|
inherited |
It returns the factory key associated to the concreate factory.
|
pure virtual |
Returns the type (name) of this factory.
Implemented in te::graph::FIFOCachePolicyFactory, and te::graph::LFUCachePolicyFactory.
|
static |
It creates and returns default cache policy.
Definition at line 36 of file AbstractCachePolicyFactory.cpp.
References te::common::AbstractFactory< TPRODUCT, TFACTORYKEY, TKEYCOMPARE >::make(), and TE_DEFAULT_CACHE_POLICY_TYPE.
Referenced by te::graph::AbstractGraphFactory::getCachePolicy(), and te::graph::GraphCache::GraphCache().
|
static |
It creates a cache policy with the proper type.
cpType | The name of the specific cache policy. |
Definition at line 41 of file AbstractCachePolicyFactory.cpp.
References te::common::Convert2UCase(), and te::common::AbstractFactory< TPRODUCT, TFACTORYKEY, TKEYCOMPARE >::make().
|
protectedinherited |
The key that identifies the concrete factory: it will be used for unregistering the factory during destruction.
Definition at line 136 of file AbstractFactory.h.