ICF 3.0.5.47
Technical documentation of ICF Libraries
iipr::CSingleFeatureConsumer Class Reference

Feature consumer implmentation storing one feature only. More...

#include <CSingleFeatureConsumer.h>

Inheritance diagram for iipr::CSingleFeatureConsumer:
Collaboration diagram for iipr::CSingleFeatureConsumer:

Public Types

enum  FeaturePolicy { FP_FIRST , FP_LAST , FP_HEAVIEST }
 Control storing of the features in the container. More...
 
- Public Types inherited from istd::IChangeable
enum  ChangeFlags {
  CF_ICF_INTERNAL = 0 , CF_ALL_DATA , CF_ANY , CF_DESTROYING ,
  CF_DELEGATED , CF_NO_UNDO
}
 Data model change notification flags. More...
 
enum  SupportedOperations {
  SO_NONE = 0 , SO_OBSERVE = 1 << 0 , SO_COPY = 1 << 1 , SO_CLONE = 1 << 2 ,
  SO_COMPARE = 1 << 3 , SO_RESET = 1 << 4 , SO_CHANGE_LOCK = 1 << 5
}
 Flags for supported operations. More...
 
enum  CompatibilityMode { CM_STRICT , CM_WITHOUT_REFS , CM_WITH_REFS , CM_CONVERT }
 Control how relationship betweeen objects are interpreted. More...
 

Public Member Functions

 CSingleFeatureConsumer (int featurePolicy=FP_FIRST)
 
int GetFeaturePolicy () const
 Get feature adding policy.
 
void SetFeaturePolicy (int featurePolicy)
 Set feature adding policy.
 
virtual void ResetFeatures ()
 Remove all features from this container.
 
virtual bool AddFeature (const imeas::INumericValue *featurePtr, bool *isFullPtr=nullptr)
 Add new feature to the set of features.
 
virtual int GetFeaturesCount () const
 Get number of stored features.
 
virtual const imeas::INumericValueGetFeature (int index) const
 Get access to single feature.
 
- Public Member Functions inherited from iipr::IFeaturesConsumer
- Public Member Functions inherited from istd::IChangeable
virtual int GetSupportedOperations () const
 Get set of flags for supported operations.
 
virtual bool CopyFrom (const IChangeable &object, CompatibilityMode mode=CM_WITHOUT_REFS)
 Copy this object from another one.
 
virtual bool IsEqual (const IChangeable &object) const
 Compare this object with another object.
 
virtual std::unique_ptr< IChangeableCloneMe (CompatibilityMode mode=CM_WITHOUT_REFS) const
 Make a copy of this object.
 
virtual bool ResetData (CompatibilityMode mode=CM_WITHOUT_REFS)
 Reset data to its default state.
 
virtual QMutex * GetChangesLock () const
 Get mutex beeing locked during changes, if available.
 
virtual void BeginChanges (const ChangeSet &changeSet)
 Starts the change transaction.
 
virtual void EndChanges (const ChangeSet &changeSet)
 Ends the change transaction.
 
virtual void BeginChangeGroup (const ChangeSet &changeSet)
 Starts group of changes.
 
virtual void EndChangeGroup (const ChangeSet &changeSet)
 Ends group of changes.
 
- Public Member Functions inherited from iipr::IFeaturesProvider

Additional Inherited Members

- Static Public Member Functions inherited from istd::IChangeable
static const ChangeSetGetNoChanges ()
 Get empty set of changes.
 
static const ChangeSetGetAnyChange ()
 Get anonymous change set.
 
static const ChangeSetGetAllChanges ()
 Get anonymous change set.
 
static const ChangeSetGetDelegatedChanges ()
 Get delegated change set.
 
- Protected Member Functions inherited from istd::IChangeable
virtual void OnBeginChanges ()
 Callback function for begin change event.
 
virtual void OnEndChanges (const ChangeSet &changeSet)
 Callback function for end change event.
 

Detailed Description

Feature consumer implmentation storing one feature only.

Definition at line 22 of file CSingleFeatureConsumer.h.

Member Enumeration Documentation

◆ FeaturePolicy

Control storing of the features in the container.

Enumerator
FP_FIRST 

Only first feature is stored in the container.

FP_LAST 

Only last feature is stored in the container.

FP_HEAVIEST 

Only heaviest feature is stored in the container.

Definition at line 31 of file CSingleFeatureConsumer.h.

Constructor & Destructor Documentation

◆ CSingleFeatureConsumer()

iipr::CSingleFeatureConsumer::CSingleFeatureConsumer ( int featurePolicy = FP_FIRST)

Member Function Documentation

◆ AddFeature()

virtual bool iipr::CSingleFeatureConsumer::AddFeature ( const imeas::INumericValue * featurePtr,
bool * isFullPtr = nullptr )
virtual

Add new feature to the set of features.

Parameters
featurePtrinstance of feature object. Please note, that the container takes controll over this object, so you cannot destroy this object manually. It cannot be nullptr.
isFullPtrOptional parameter pointing at flag idicating that container is full. This flag will be set to true, if this container is full and it will not collect additional features. In other case the flag will be not changed.
Returns
true if the pushed feature is valid for this container and was inserted correctly.

Implements iipr::IFeaturesConsumer.

◆ GetFeature()

virtual const imeas::INumericValue & iipr::CSingleFeatureConsumer::GetFeature ( int index) const
virtual

Get access to single feature.

Implements iipr::IFeaturesProvider.

◆ GetFeaturePolicy()

int iipr::CSingleFeatureConsumer::GetFeaturePolicy ( ) const

Get feature adding policy.

See also
FeaturePolicy

◆ GetFeaturesCount()

virtual int iipr::CSingleFeatureConsumer::GetFeaturesCount ( ) const
virtual

Get number of stored features.

Implements iipr::IFeaturesProvider.

◆ ResetFeatures()

virtual void iipr::CSingleFeatureConsumer::ResetFeatures ( )
virtual

Remove all features from this container.

Implements iipr::IFeaturesConsumer.

◆ SetFeaturePolicy()

void iipr::CSingleFeatureConsumer::SetFeaturePolicy ( int featurePolicy)

Set feature adding policy.

Note
Call of this function removes the current feature.

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

© Witold Gantzke and Kirill Lepskiy