8 #ifndef __DIADES_AUTOMATA_EXPERIMENTAL_STATEPROPERTYMANAGER_HH 9 #define __DIADES_AUTOMATA_EXPERIMENTAL_STATEPROPERTYMANAGER_HH 12 #include<unordered_map> 27 namespace Experimental
65 template<
typename _StateProperty,
typename charT,
charT sep,
typename BinaryDisjunction,
typename Delimiter>
71 template<
typename StatePropertyIterator>
77 disj = std::accumulate(++begin, end, *begin, BinaryDisjunction());
79 return Delimiter()(source + sep + disj);
93 template<
typename _StateProperty,
94 typename _StatePropertyId,
97 typename Hash = std::hash<_StateProperty> >
117 return "Diades::Automata::Experimental::StatePropertyManager";
189 return IM::hasInfo(stateProperty);
202 return IM::hasInfoId(
id);
218 return IM::setInfo(stateProperty,
id);
230 return IM::infoId(stateProperty);
243 return IM::getInfo(
id);
268 return IM::numberOfInfos();
bool hasStateProperty(const StateProperty &stateProperty) const
StatePropertyId statePropertyId(const StateProperty &stateProperty)
Diades::Utils::InfoManager< LocalCandidate< LocalStateInfoId, EventSetManager< EventInfo, EventId >::EventSet >, LocalStateInfoId, NullValue< LocalCandidate< LocalStateInfoId, EventSetManager< EventInfo, EventId >::EventSet > >, NullValue< LocalStateInfoId >, std::hash< LocalCandidate< LocalStateInfoId, EventSetManager< EventInfo, EventId >::EventSet > > >::InfoIdIterator typename std::vector< InfoId >::const_iterator InfoIdIterator
bool setStateProperty(const StateProperty &stateProperty, StatePropertyId id)
std::string StatePropertyAsStringLabel
typename IM::InfoIdIterator StatePropertyIdIterator
typename IM::InfoId StatePropertyId
Diades::Utils::InfoManager< LocalCandidate< LocalStateInfoId, EventSetManager< EventInfo, EventId >::EventSet >, LocalStateInfoId, NullValue< LocalCandidate< LocalStateInfoId, EventSetManager< EventInfo, EventId >::EventSet > >, NullValue< LocalStateInfoId >, std::hash< LocalCandidate< LocalStateInfoId, EventSetManager< EventInfo, EventId >::EventSet > > >::InfoId LocalStateInfoId InfoId
_StateProperty StateProperty
Namespace of the Diades project.
bool hasStatePropertyId(StatePropertyId id) const
Diades::Utils::InfoManager< LocalCandidate< LocalStateInfoId, EventSetManager< EventInfo, EventId >::EventSet >, LocalStateInfoId, NullValue< LocalCandidate< LocalStateInfoId, EventSetManager< EventInfo, EventId >::EventSet > >, NullValue< LocalStateInfoId >, std::hash< LocalCandidate< LocalStateInfoId, EventSetManager< EventInfo, EventId >::EventSet > > >::Info LocalCandidate< LocalStateInfoId, EventSetManager< EventInfo, EventId >::EventSet > Info
StateProperty operator()(StateProperty source, StatePropertyIterator begin, StatePropertyIterator end)
typename IM::Info StateProperty
const StateProperty & getStateProperty(StatePropertyId id) const
size_t numberOfStateProperties() const