70 virtual HyperGraph::HyperGraphElementType
elementType()
const {
71 return HyperGraph::HGET_CACHE;
91 const std::vector<int>& parameterIndices);
124template <
typename CacheType>
127 const std::string& type_,
137 cache =
dynamic_cast<CacheType*
>(c);
Cache * createCache(const Cache::CacheKey &key)
void setUpdateNeeded(bool needUpdate=true)
Cache * findCache(const Cache::CacheKey &key)
OptimizableGraph * graph()
OptimizableGraph::Vertex * _vertex
OptimizableGraph::Vertex * vertex()
CacheContainer(OptimizableGraph::Vertex *vertex_)
bool operator<(const CacheKey &c) const
ParameterVector _parameters
const std::string & type() const
friend class CacheContainer
const ParameterVector & parameters() const
CacheContainer * _container
std::vector< Cache * > _parentCaches
ParameterVector & parameters()
OptimizableGraph * graph()
CacheContainer * container()
Cache * installDependency(const std::string &type_, const std::vector< int > ¶meterIndices)
friend class CacheContainer
virtual bool resolveDependencies()
OptimizableGraph::Vertex * vertex()
virtual HyperGraph::HyperGraphElementType elementType() const
ParameterVector _parameters
Cache(CacheContainer *container_=0, const ParameterVector ¶meters_=ParameterVector())
virtual void updateImpl()=0
redefine this to do the update
void resolveCache(CacheType *&cache, OptimizableGraph::Vertex *, const std::string &_type, const ParameterVector ¶meters)
A general case Vertex for optimization.
CacheContainer * cacheContainer()
std::vector< Parameter * > ParameterVector