ADTF
EnumType

observable DataDefinition object class to describe EnumType. More...

Inheritance diagram for EnumType:
[legend]

Public Types

using Element = KeyValuePair
 Enum type element defintion as Name Value pair.
 
using Elements = utility::TypeAccessMap< Element, EnumType >
 container class for elements in EnumType
 
- Public Types inherited from ModelSubjectUtility< MODEL_SUBJECT_T, EVENT_CODE_T >
typedef EVENT_CODE_T event_code_type
 local definition of the event code type
 
typedef MODEL_SUBJECT_T subject_type
 local definition of the subject type
 
typedef ModelObserverUtility< MODEL_SUBJECT_T, EVENT_CODE_T > observer_type
 local definition of the observer type to notify
 

Public Member Functions

 EnumType ()=delete
 no default CTOR
 
 EnumType (EnumType &&)
 move CTOR.
 
EnumTypeoperator= (EnumType &&)
 move assignment operator More...
 
 EnumType (const EnumType &other)
 Copy CTOR. More...
 
EnumTypeoperator= (const EnumType &other)
 copy assignment operator More...
 
 EnumType (const std::string &name, const std::string &data_type_name, const std::vector< Element > &elements={})
 Construct a new Enum Type object. More...
 
virtual ~EnumType ()=default
 DTOR.
 
bool operator== (const EnumType &other) const
 equality operator. More...
 
bool operator!= (const EnumType &other) const
 non equality operator. More...
 
const ElementsgetElements () const
 Get the Elements object. More...
 
ElementsgetElements ()
 Get the Elements object. More...
 
TypeOfType getTypeOfType () const override
 Get the Type Of the Type (data_type, enum_type, struct_type, stream_meta_type). More...
 
void setName (const std::string &name) override
 Set the Name. More...
 
const std::string & getDataTypeName () const
 Get the Data Type Name. More...
 
void setDataTypeName (const std::string &data_type_name)
 Set the Data Type Name. More...
 
- Public Member Functions inherited from TypeBase
 TypeBase ()=default
 CTOR.
 
 TypeBase (const TypeBase &)=default
 copy CTOR
 
 TypeBase (TypeBase &&)=default
 move CTOR
 
TypeBaseoperator= (const TypeBase &)=default
 copy assignment operator More...
 
TypeBaseoperator= (TypeBase &&)=default
 move assignment operator More...
 
 TypeBase (const std::string &name)
 CTOR. More...
 
virtual ~TypeBase ()=default
 DTOR.
 
const std::string & getName () const
 Get the Name. More...
 
- Public Member Functions inherited from ModelSubjectUtility< MODEL_SUBJECT_T, EVENT_CODE_T >
 ModelSubjectUtility ()=default
 CTOR.
 
 ModelSubjectUtility (const ModelSubjectUtility &)
 copy CTOR which removes the observers in case of!
 
ModelSubjectUtilityoperator= (const ModelSubjectUtility &)
 copy assignment operator which removes the observers in case of! More...
 
virtual ~ModelSubjectUtility ()=default
 DTOR.
 
void attachObserver (observer_type *observer)
 adda a observer to notify. More...
 
void detachObserver (observer_type *observer)
 remove a observer if in list. More...
 
- Public Member Functions inherited from InfoMap
 InfoMap ()=default
 CTOR.
 
 InfoMap (const InfoMap &)
 copy CTOR More...
 
 InfoMap (InfoMap &&)
 move CTOR More...
 
InfoMapoperator= (const InfoMap &)
 copy assignment operator More...
 
InfoMapoperator= (InfoMap &&)
 move assignment operator More...
 
template<typename INFO_T >
const INFO_T * getInfo () const
 Get the Info Pointer. More...
 
template<typename INFO_T >
INFO_T * getInfo ()
 Get the Info Pointer. More...
 
template<typename INFO_T >
void setInfo (const std::shared_ptr< INFO_T > &info)
 Set the Info object as shared pointer. More...
 

Private Member Functions

void notify (ModelEventCode code, utility::TypeAccessMapEventCode forward_code, const std::string &additional_info)
 
bool validateContains (const Elements::access_type &element_name) const
 
void notifyChangedMapContent (utility::TypeAccessMapEventCode code, Elements::access_type &element, const std::string &additional_info)
 

Private Attributes

std::string _data_type_name = {}
 
Elements _elements
 

Additional Inherited Members

- Protected Member Functions inherited from ModelSubjectUtility< MODEL_SUBJECT_T, EVENT_CODE_T >
void notifyChanged (event_code_type event_code, subject_type &changed_subject, const std::string &additional_info)
 helper utility function to notify the current observers More...
 
- Protected Attributes inherited from TypeBase
std::string _name
 name storage value
 

Detailed Description

observable DataDefinition object class to describe EnumType.

Definition at line 318 of file datamodel_types.h.

Constructor & Destructor Documentation

◆ EnumType() [1/2]

EnumType ( const EnumType other)

Copy CTOR.

Parameters
otherthe other enumtype to copy

◆ EnumType() [2/2]

EnumType ( const std::string &  name,
const std::string &  data_type_name,
const std::vector< Element > &  elements = {} 
)

Construct a new Enum Type object.

Parameters
namename of the enum
data_type_namename of the data type this enumtype refers to
elementsvector of elements to add while constructing
Exceptions
maythrow if elements contains elements with trhe same name twice!

Member Function Documentation

◆ getDataTypeName()

const std::string& getDataTypeName ( ) const

Get the Data Type Name.

Returns
const std::string&

◆ getElements() [1/2]

Elements& getElements ( )

Get the Elements object.

Returns
Elements&

◆ getElements() [2/2]

const Elements& getElements ( ) const

Get the Elements object.

Returns
const Elements&

◆ getTypeOfType()

TypeOfType getTypeOfType ( ) const
overridevirtual

Get the Type Of the Type (data_type, enum_type, struct_type, stream_meta_type).

Returns
TypeOfType

Implements TypeBase.

◆ operator!=()

bool operator!= ( const EnumType other) const

non equality operator.

Parameters
otherthe enum type to compare the enum to
Returns
false the enum is equal (aslo its elements).
true the enum is not equal.

◆ operator=() [1/2]

EnumType& operator= ( const EnumType other)

copy assignment operator

Parameters
otherthe other enumtype to copy
Returns
EnumType&

◆ operator=() [2/2]

EnumType& operator= ( EnumType &&  )

move assignment operator

Returns
EnumType&

◆ operator==()

bool operator== ( const EnumType other) const

equality operator.

Parameters
otherthe enum type to compare the enum to
Returns
true the enum is equal (aslo its elements).
false the enum is not equal.

◆ setDataTypeName()

void setDataTypeName ( const std::string &  data_type_name)

Set the Data Type Name.

Parameters
data_type_namename of the datatype this enumtype referes to.

◆ setName()

void setName ( const std::string &  name)
overridevirtual

Set the Name.

Parameters
nameThe name of type.
Exceptions
Thismight throw if the set name does already exist in the container this type is part of.

Reimplemented from TypeBase.