50 const std::string&
type()
const {
return _type; }
70 virtual HyperGraph::HyperGraphElementType
elementType()
const {
71 return HyperGraph::HGET_CACHE;
90 Cache* installDependency(
const std::string& type_,
91 const std::vector<int>& parameterIndices);
100 virtual bool resolveDependencies();
116 void setUpdateNeeded(
bool needUpdate =
true);
124template <
typename CacheType>
127 const std::string& type_,
137 cache =
dynamic_cast<CacheType*
>(c);
Cache * createCache(const Cache::CacheKey &key)
Cache * findCache(const Cache::CacheKey &key)
OptimizableGraph::Vertex * _vertex
ParameterVector _parameters
const std::string & type() const
const ParameterVector & parameters() const
CacheContainer * _container
std::vector< Cache * > _parentCaches
virtual HyperGraph::HyperGraphElementType elementType() const
ParameterVector _parameters
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()
bool operator<(const HyperDijkstra::AdjacencyMapEntry &a, const HyperDijkstra::AdjacencyMapEntry &b)
std::vector< Parameter * > ParameterVector