112 void setUpdateNeeded(
bool needUpdate=
true);
120 template <
typename CacheType>
123 const std::string& type_,
134 cache =
dynamic_cast<CacheType*
>(c);
ParameterVector _parameters
virtual bool resolveDependancies()
Cache(CacheContainer *container_=0, const ParameterVector ¶meters_=ParameterVector())
OptimizableGraph::Vertex * _vertex
CacheContainer * _container
HyperGraphElementType
enum of all the types we have in our graphs
CacheContainer * cacheContainer()
OptimizableGraph::Vertex * vertex()
virtual void updateImpl()=0
redefine this to do the update
Cache * findCache(const Cache::CacheKey &key)
ParameterVector _parameters
Cache * installDependency(const std::string &type_, const std::vector< int > ¶meterIndices)
void resolveCache(CacheType *&cache, OptimizableGraph::Vertex *, const std::string &_type, const ParameterVector ¶meters)
bool operator<(const CacheKey &c) const
std::vector< Parameter * > ParameterVector
virtual HyperGraph::HyperGraphElementType elementType() const
friend class CacheContainer
OptimizableGraph * graph()
A general case Vertex for optimization.
CacheContainer * container()
const std::string & type() const
Cache * createCache(const Cache::CacheKey &key)
std::vector< Cache * > _parentCaches
const ParameterVector & parameters() const