DetectorGraph
2.0
|
Manage data and its handler. More...
Public Types | |
typedef std::vector< T > | ValuesContainer |
![]() | |
enum | VertexSearchState { kVertexClear, kVertexProcessing, kVertexDone } |
Enum used for topological sort & traverse context keeping. More... | |
enum | VertexType { kTopicVertex, kDetectorVertex, kTestVertex } |
typedef std::list< Vertex * > | VertexPtrContainer |
Public Member Functions | |
Topic () | |
void | Publish (const T &arPayload) |
Append data to its vector. More... | |
virtual void | ProcessVertex () |
void | DispatchIntoSubscriber (SubscriberInterface< T > *aSubscriber) |
Pass pending data to its handler. More... | |
bool | HasNewValue () const |
Returns true if the new Data is available. More... | |
const T & | GetNewValue () const |
Returns reference to the new/latest value in the topic. More... | |
const ValuesContainer & | GetCurrentValues () const |
virtual | ~Topic () |
virtual TopicStateIdType | GetId () const |
virtual std::list< ptr::shared_ptr< const TopicState > > | GetCurrentTopicStates () const |
![]() | |
virtual VertexType | GetVertexType () const |
![]() | |
Vertex () | |
virtual | ~Vertex () |
VertexSearchState | GetState () const |
void | SetState (VertexSearchState aNewState) |
void | InsertEdge (Vertex *aVertex) |
void | RemoveEdge (Vertex *aVertex) |
VertexPtrContainer & | GetOutEdges () |
void | MarkFutureEdge (Vertex *aVertex) |
VertexPtrContainer & | GetInEdges () |
VertexPtrContainer & | GetFutureOutEdges () |
VertexPtrContainer & | GetFutureInEdges () |
const char * | GetName () const |
Additional Inherited Members | |
![]() | |
void | MarkChildrenState (VertexSearchState aNewState) |
![]() | |
VertexSearchState | mState |
VertexPtrContainer | mOutEdges |
VertexPtrContainer | mInEdges |
VertexPtrContainer | mFutureOutEdges |
VertexPtrContainer | mFutureInEdges |
Manage data and its handler.
It is a data transport system with publish / subscribe semantics.
std::vector<T> mCurrentValues
is the holder for current values in the topic.
This vector is cleared once per evaluation at either:
The intended behavior is to have this vector always contain all the data for a single evaluation pass - or nothing if that's the case.
typedef std::vector<T> DetectorGraph::Topic< T >::ValuesContainer |
|
inline |
|
inlinevirtual |
|
inline |
|
inlinevirtual |
Implements DetectorGraph::BaseTopic.
|
inline |
|
inlinevirtual |
Implements DetectorGraph::BaseTopic.
|
inline |
|
inline |
|
inlinevirtual |
Implements DetectorGraph::Vertex.
|
inline |