DiaDes  0.1
DIAgnosis of Discrete-Event System
Public Types | Public Member Functions | Static Public Member Functions | Private Types | List of all members
Diades::Automata::Experimental::StatePropertyManager< _StateProperty, _StatePropertyId, NullStProperty, NullStPropertyId, Hash > Class Template Reference

#include <StatePropertyManager.hh>

Public Types

using IM = InfoManager< _StateProperty, _StatePropertyId, NullStProperty, NullStPropertyId, Hash >
 
using StateProperty = typename IM::Info
 
using StatePropertyId = typename IM::InfoId
 
using Exception = Diades::Utils::Exception< StatePropertyManager >
 
- Public Types inherited from Diades::Utils::InfoManager< _StateProperty, _StatePropertyId, NullStProperty, NullStPropertyId, Hash >
using Info = _StateProperty
 
using InfoId = _StatePropertyId
 
using NullInfo = NullStProperty
 
using NullInfoId = NullStPropertyId
 
using Hash = Hash
 
using Exception = Diades::Utils::Exception< InfoManager >
 
using InfoIdRangeInfoIterator = Diades::Utils::RangeMapperIterator< GetInfo< InfoIdIterator > >
 

Public Member Functions

 StatePropertyManager ()=default
 
 StatePropertyManager (StatePropertyManager const &other)=default
 
StatePropertyManageroperator= (StatePropertyManager const &other)=default
 
 StatePropertyManager (StatePropertyManager &&other)=default
 
StatePropertyManageroperator= (StatePropertyManager &&other)=default
 
virtual ~StatePropertyManager ()=default
 
bool hasStateProperty (const StateProperty &stateProperty) const
 
bool hasStatePropertyId (StatePropertyId id) const
 
bool setStateProperty (const StateProperty &stateProperty, StatePropertyId id)
 
StatePropertyId statePropertyId (const StateProperty &stateProperty)
 
const StatePropertygetStateProperty (StatePropertyId id) const
 
size_t numberOfStateProperties () const
 
- Public Member Functions inherited from Diades::Utils::InfoManager< _StateProperty, _StatePropertyId, NullStProperty, NullStPropertyId, Hash >
 InfoManager ()=default
 
 InfoManager (InfoManager const &other)=default
 
 InfoManager (InfoManager &&other)
 
InfoManageroperator= (InfoManager const &other)
 
InfoManageroperator= (InfoManager &&other)
 
virtual ~InfoManager ()=default
 
bool hasInfo (const Info &info) const
 
bool hasInfoId (InfoId id) const
 
bool setInfo (const Info &info, InfoId id)
 
InfoId infoId (const Info &info)
 
const InfogetInfo (InfoId id) const
 
InfoManagerinitialise (unsigned capacity)
 
const std::vector< Info > & storage () const
 
InfoIdIterator begin () const
 
InfoIdIterator end () const
 
InfoIdRangeInfoIterator< InfoIdIteratorinfoIdRangeInfoIterator (InfoIdIterator iterator) const
 
size_t numberOfInfos () const
 
bool isConsistentWith (const InfoManager &manager) const
 
bool isEquivalentTo (const InfoManager &manager) const
 
InfoManagerappendWith (const InfoManager &manager)
 
InfoManagermakeIntersection (const InfoManager &m1, const InfoManager &m2)
 
InfoManagermakeUnion (const InfoManager &m1, const InfoManager &m2)
 
bool isNull (const Info &info) const
 
bool isNullId (const InfoId &infoId) const
 

Static Public Member Functions

static string typeName ()
 
- Static Public Member Functions inherited from Diades::Utils::InfoManager< _StateProperty, _StatePropertyId, NullStProperty, NullStPropertyId, Hash >
static string typeName ()
 

Private Types

using StatePropertyIdIterator = typename IM::InfoIdIterator
 

Additional Inherited Members

- Public Attributes inherited from Diades::Utils::InfoManager< _StateProperty, _StatePropertyId, NullStProperty, NullStPropertyId, Hash >
const Info nullInfo
 
const InfoId nullInfoId
 
- Protected Types inherited from Diades::Utils::InfoManager< _StateProperty, _StatePropertyId, NullStProperty, NullStPropertyId, Hash >
using Map = std::unordered_map< size_t, std::vector< InfoId > >
 
using InfoIdIterator = typename std::vector< InfoId >::const_iterator
 
- Protected Attributes inherited from Diades::Utils::InfoManager< _StateProperty, _StatePropertyId, NullStProperty, NullStPropertyId, Hash >
Map _infoMap
 
std::vector< Info_infos
 
std::vector< InfoId_infoIds
 

Detailed Description

template<typename _StateProperty, typename _StatePropertyId, typename NullStProperty = NullValue<_StateProperty>, typename NullStPropertyId = NullValue<_StatePropertyId>, typename Hash = std::hash<_StateProperty>>
class Diades::Automata::Experimental::StatePropertyManager< _StateProperty, _StatePropertyId, NullStProperty, NullStPropertyId, Hash >

A StatePropertyManager is a InfoManager dedicated to the association of StateProperty (Info) and StatePropertyId (InfoId)

See also
InfoManager for details

Definition at line 98 of file StatePropertyManager.hh.

Member Typedef Documentation

◆ Exception

template<typename _StateProperty, typename _StatePropertyId, typename NullStProperty = NullValue<_StateProperty>, typename NullStPropertyId = NullValue<_StatePropertyId>, typename Hash = std::hash<_StateProperty>>
using Diades::Automata::Experimental::StatePropertyManager< _StateProperty, _StatePropertyId, NullStProperty, NullStPropertyId, Hash >::Exception = Diades::Utils::Exception<StatePropertyManager>

Definition at line 119 of file StatePropertyManager.hh.

◆ IM

template<typename _StateProperty, typename _StatePropertyId, typename NullStProperty = NullValue<_StateProperty>, typename NullStPropertyId = NullValue<_StatePropertyId>, typename Hash = std::hash<_StateProperty>>
using Diades::Automata::Experimental::StatePropertyManager< _StateProperty, _StatePropertyId, NullStProperty, NullStPropertyId, Hash >::IM = InfoManager<_StateProperty, _StatePropertyId, NullStProperty, NullStPropertyId, Hash>

Definition at line 110 of file StatePropertyManager.hh.

◆ StateProperty

template<typename _StateProperty, typename _StatePropertyId, typename NullStProperty = NullValue<_StateProperty>, typename NullStPropertyId = NullValue<_StatePropertyId>, typename Hash = std::hash<_StateProperty>>
using Diades::Automata::Experimental::StatePropertyManager< _StateProperty, _StatePropertyId, NullStProperty, NullStPropertyId, Hash >::StateProperty = typename IM::Info

Definition at line 111 of file StatePropertyManager.hh.

◆ StatePropertyId

template<typename _StateProperty, typename _StatePropertyId, typename NullStProperty = NullValue<_StateProperty>, typename NullStPropertyId = NullValue<_StatePropertyId>, typename Hash = std::hash<_StateProperty>>
using Diades::Automata::Experimental::StatePropertyManager< _StateProperty, _StatePropertyId, NullStProperty, NullStPropertyId, Hash >::StatePropertyId = typename IM::InfoId

Definition at line 112 of file StatePropertyManager.hh.

◆ StatePropertyIdIterator

template<typename _StateProperty, typename _StatePropertyId, typename NullStProperty = NullValue<_StateProperty>, typename NullStPropertyId = NullValue<_StatePropertyId>, typename Hash = std::hash<_StateProperty>>
using Diades::Automata::Experimental::StatePropertyManager< _StateProperty, _StatePropertyId, NullStProperty, NullStPropertyId, Hash >::StatePropertyIdIterator = typename IM::InfoIdIterator
private

Definition at line 130 of file StatePropertyManager.hh.

Constructor & Destructor Documentation

◆ StatePropertyManager() [1/3]

template<typename _StateProperty, typename _StatePropertyId, typename NullStProperty = NullValue<_StateProperty>, typename NullStPropertyId = NullValue<_StatePropertyId>, typename Hash = std::hash<_StateProperty>>
Diades::Automata::Experimental::StatePropertyManager< _StateProperty, _StatePropertyId, NullStProperty, NullStPropertyId, Hash >::StatePropertyManager ( )
default

Default constructor

◆ StatePropertyManager() [2/3]

template<typename _StateProperty, typename _StatePropertyId, typename NullStProperty = NullValue<_StateProperty>, typename NullStPropertyId = NullValue<_StatePropertyId>, typename Hash = std::hash<_StateProperty>>
Diades::Automata::Experimental::StatePropertyManager< _StateProperty, _StatePropertyId, NullStProperty, NullStPropertyId, Hash >::StatePropertyManager ( StatePropertyManager< _StateProperty, _StatePropertyId, NullStProperty, NullStPropertyId, Hash > const &  other)
default

Copy constructor (default)

Parameters
other

◆ StatePropertyManager() [3/3]

template<typename _StateProperty, typename _StatePropertyId, typename NullStProperty = NullValue<_StateProperty>, typename NullStPropertyId = NullValue<_StatePropertyId>, typename Hash = std::hash<_StateProperty>>
Diades::Automata::Experimental::StatePropertyManager< _StateProperty, _StatePropertyId, NullStProperty, NullStPropertyId, Hash >::StatePropertyManager ( StatePropertyManager< _StateProperty, _StatePropertyId, NullStProperty, NullStPropertyId, Hash > &&  other)
default

Move constructor (default)

Parameters
other

◆ ~StatePropertyManager()

template<typename _StateProperty, typename _StatePropertyId, typename NullStProperty = NullValue<_StateProperty>, typename NullStPropertyId = NullValue<_StatePropertyId>, typename Hash = std::hash<_StateProperty>>
virtual Diades::Automata::Experimental::StatePropertyManager< _StateProperty, _StatePropertyId, NullStProperty, NullStPropertyId, Hash >::~StatePropertyManager ( )
virtualdefault

Destructor

Member Function Documentation

◆ getStateProperty()

template<typename _StateProperty, typename _StatePropertyId, typename NullStProperty = NullValue<_StateProperty>, typename NullStPropertyId = NullValue<_StatePropertyId>, typename Hash = std::hash<_StateProperty>>
const StateProperty& Diades::Automata::Experimental::StatePropertyManager< _StateProperty, _StatePropertyId, NullStProperty, NullStPropertyId, Hash >::getStateProperty ( StatePropertyId  id) const
inline

◆ hasStateProperty()

template<typename _StateProperty, typename _StatePropertyId, typename NullStProperty = NullValue<_StateProperty>, typename NullStPropertyId = NullValue<_StatePropertyId>, typename Hash = std::hash<_StateProperty>>
bool Diades::Automata::Experimental::StatePropertyManager< _StateProperty, _StatePropertyId, NullStProperty, NullStPropertyId, Hash >::hasStateProperty ( const StateProperty stateProperty) const
inline
Parameters
StatePropertya StateProperty
Returns
true if the manager owns the StateProperty

Definition at line 187 of file StatePropertyManager.hh.

◆ hasStatePropertyId()

template<typename _StateProperty, typename _StatePropertyId, typename NullStProperty = NullValue<_StateProperty>, typename NullStPropertyId = NullValue<_StatePropertyId>, typename Hash = std::hash<_StateProperty>>
bool Diades::Automata::Experimental::StatePropertyManager< _StateProperty, _StatePropertyId, NullStProperty, NullStPropertyId, Hash >::hasStatePropertyId ( StatePropertyId  id) const
inline
Parameters
ida StatePropertyId
Returns
true if the manager owns such an id, be aware that it does not mean the id is associated with a StateProperty it is possibly assigned to an null StateProperty

Definition at line 200 of file StatePropertyManager.hh.

◆ numberOfStateProperties()

template<typename _StateProperty, typename _StatePropertyId, typename NullStProperty = NullValue<_StateProperty>, typename NullStPropertyId = NullValue<_StatePropertyId>, typename Hash = std::hash<_StateProperty>>
size_t Diades::Automata::Experimental::StatePropertyManager< _StateProperty, _StatePropertyId, NullStProperty, NullStPropertyId, Hash >::numberOfStateProperties ( ) const
inline
Parameters
iteratora StateInfoIdIterator (whatever iterator which refers to a StateInfoId)
Returns
an iterator on the StateInfo from the StateInfoId range here is how to use this. Suppose you have a range of StateInfoId begin,end from the current manager, then stateInfoIdRangeStateInfoIterator(begin), stateInfoIdRangeStateInfoIterator(end) is the corresponding StateInfo Range.
the number of StateProperty's

Definition at line 266 of file StatePropertyManager.hh.

◆ operator=() [1/2]

template<typename _StateProperty, typename _StatePropertyId, typename NullStProperty = NullValue<_StateProperty>, typename NullStPropertyId = NullValue<_StatePropertyId>, typename Hash = std::hash<_StateProperty>>
StatePropertyManager& Diades::Automata::Experimental::StatePropertyManager< _StateProperty, _StatePropertyId, NullStProperty, NullStPropertyId, Hash >::operator= ( StatePropertyManager< _StateProperty, _StatePropertyId, NullStProperty, NullStPropertyId, Hash > const &  other)
default

Assignement (default)

Parameters
other
Returns
the current StatePropertyManager

◆ operator=() [2/2]

template<typename _StateProperty, typename _StatePropertyId, typename NullStProperty = NullValue<_StateProperty>, typename NullStPropertyId = NullValue<_StatePropertyId>, typename Hash = std::hash<_StateProperty>>
StatePropertyManager& Diades::Automata::Experimental::StatePropertyManager< _StateProperty, _StatePropertyId, NullStProperty, NullStPropertyId, Hash >::operator= ( StatePropertyManager< _StateProperty, _StatePropertyId, NullStProperty, NullStPropertyId, Hash > &&  other)
default

Move assignement (default)

Parameters
other
Returns
the current StatePropertyManager

◆ setStateProperty()

template<typename _StateProperty, typename _StatePropertyId, typename NullStProperty = NullValue<_StateProperty>, typename NullStPropertyId = NullValue<_StatePropertyId>, typename Hash = std::hash<_StateProperty>>
bool Diades::Automata::Experimental::StatePropertyManager< _StateProperty, _StatePropertyId, NullStProperty, NullStPropertyId, Hash >::setStateProperty ( const StateProperty stateProperty,
StatePropertyId  id 
)
inline

Associate a stateProperty to a specific id

Parameters
statePropertythe StateProperty
idthe StatePropertyId
Returns
true if the assignement is a success i.e. stateProperty was not present in the manager with another id and id was not present with another association false if stateProperty == nullStateProperty or id = nullStatePropertyId

Definition at line 215 of file StatePropertyManager.hh.

Referenced by exportTsToDdAut2().

◆ statePropertyId()

template<typename _StateProperty, typename _StatePropertyId, typename NullStProperty = NullValue<_StateProperty>, typename NullStPropertyId = NullValue<_StatePropertyId>, typename Hash = std::hash<_StateProperty>>
StatePropertyId Diades::Automata::Experimental::StatePropertyManager< _StateProperty, _StatePropertyId, NullStProperty, NullStPropertyId, Hash >::statePropertyId ( const StateProperty stateProperty)
inline
Parameters
statePropertya StateProperty
Returns
the id of the manager whose StateProperty is stateProperty

Definition at line 228 of file StatePropertyManager.hh.

Referenced by consolidateWithSafeAlternatives(), Diades::Automata::Experimental::explainFromStates(), tagStates(), and trimDdAutStates2().

◆ typeName()

template<typename _StateProperty, typename _StatePropertyId, typename NullStProperty = NullValue<_StateProperty>, typename NullStPropertyId = NullValue<_StatePropertyId>, typename Hash = std::hash<_StateProperty>>
static string Diades::Automata::Experimental::StatePropertyManager< _StateProperty, _StatePropertyId, NullStProperty, NullStPropertyId, Hash >::typeName ( )
inlinestatic

Definition at line 115 of file StatePropertyManager.hh.


The documentation for this class was generated from the following file: