|
Safir SDK Core
|
Base class for containers of enumeration values. More...
#include <Safir/Dob/Typesystem/EnumerationContainerBase.h>
Public Member Functions | |
| constexpr | EnumerationContainerBase () |
| Default Constructor. | |
| virtual void | SetOrdinal (const EnumerationValue value)=0 |
| Set the ordinal value of the enumeration container. | |
| virtual EnumerationValue | GetOrdinal () const =0 |
| Get the ordinal value of the enumeration container. | |
| bool | IsNull () const override |
| Is the container set to null? | |
| bool | HasVal () const override |
| Does the container have a value? | |
| void | SetNull () override |
| Set the container to null. | |
| void | Copy (const ContainerBase &that) override |
| Virtual assignment. | |
Public Member Functions inherited from Safir::Dob::Typesystem::ContainerBase | |
| constexpr | ContainerBase () |
| Default Constructor. | |
| constexpr | ContainerBase (const ContainerBase &)=default |
| Copy constructor. | |
| virtual | ~ContainerBase () |
| Virtual destructor. | |
| virtual bool | IsChanged () const |
| Is the change flag set on the container? | |
| virtual void | SetChanged (const bool changed) |
| Set the containers change flag. | |
Protected Member Functions | |
| constexpr | EnumerationContainerBase (const EnumerationContainerBase &other)=default |
| Copy constructor. | |
| EnumerationContainerBase & | operator= (const EnumerationContainerBase &other)=default |
| Copy assignment operator. | |
Protected Member Functions inherited from Safir::Dob::Typesystem::ContainerBase | |
| ContainerBase & | operator= (const ContainerBase &other) |
| Copy assignment operator. | |
Protected Attributes | |
| bool | m_bIsNull |
| The null flag for the enumeration container. | |
| EnumerationValue | m_Value |
| The value of the enumeration container. | |
Protected Attributes inherited from Safir::Dob::Typesystem::ContainerBase | |
| bool | m_bIsChanged |
| The variable containing the change flag. | |
Friends | |
| class | Safir::Dob::Typesystem::Internal::BlobOperations |
Base class for containers of enumeration values.
The containers for enumerations are defined in the automatically generated code, but this class defines the common functionality for them. Enumeration containers really store the ordinal values (integer representation of the enumeration), and this class has methods for setting and getting the ordinal. The derived class (in the generated code) has methods for setting and getting the value as an enumeration value. Most applications should not use the GetOrdinal/SetOrdinal functions, but should use the SetVal and GetVal methods defined in the derived classes.
|
constexpr |
Default Constructor.
Constructs an enumeration container that is null and not changed.
References Safir::Dob::Typesystem::ContainerBase::ContainerBase(), m_bIsNull, and m_Value.
Referenced by EnumerationContainerBase(), Copy(), and operator=().
|
constexprprotecteddefault |
Copy constructor.
| other | [in] - The object to copy. |
References EnumerationContainerBase().
|
overridevirtual |
Virtual assignment.
Copy all the members from "that" into "this". Types must be the same for this to work!
| that | [in] - The object to copy into this. |
| SoftwareViolationException | If the types are not of the same kind. |
Implements Safir::Dob::Typesystem::ContainerBase.
References Safir::Dob::Typesystem::ContainerBase::ContainerBase(), EnumerationContainerBase(), and __WFILE__.
|
pure virtual |
Get the ordinal value of the enumeration container.
Note: Only applications that need to use "anonymous enums" should use this method. All other applications should be using the GetVal method.
| NullException | The container is null. |
Implemented in Safir::Control::Operation::EnumerationContainer, Safir::Dob::CallbackId::EnumerationContainer, Safir::Dob::ConnectionQueueId::EnumerationContainer, Safir::Dob::DistributionScope::EnumerationContainer, Safir::Dob::InjectionKind::EnumerationContainer, Safir::Dob::InstanceIdPolicy::EnumerationContainer, Safir::Dob::MemoryLevel::EnumerationContainer, Safir::Dob::NodeState::EnumerationContainer, Safir::Dob::PersistenceBackend::EnumerationContainer, Safir::Dob::PersistentDataState::EnumerationContainer, and Safir::Utilities::ForEach::ResponseType::EnumerationContainer.
|
overridevirtual |
Does the container have a value?
The opposite to IsNull.
Implements Safir::Dob::Typesystem::ContainerBase.
References m_bIsNull.
|
overridevirtual |
Is the container set to null?
Implements Safir::Dob::Typesystem::ContainerBase.
References m_bIsNull.
Referenced by Safir::Control::Operation::EnumerationContainer::GetOrdinal(), Safir::Dob::CallbackId::EnumerationContainer::GetOrdinal(), Safir::Dob::ConnectionQueueId::EnumerationContainer::GetOrdinal(), Safir::Dob::DistributionScope::EnumerationContainer::GetOrdinal(), Safir::Dob::InjectionKind::EnumerationContainer::GetOrdinal(), Safir::Dob::InstanceIdPolicy::EnumerationContainer::GetOrdinal(), Safir::Dob::MemoryLevel::EnumerationContainer::GetOrdinal(), Safir::Dob::NodeState::EnumerationContainer::GetOrdinal(), Safir::Dob::PersistenceBackend::EnumerationContainer::GetOrdinal(), Safir::Dob::PersistentDataState::EnumerationContainer::GetOrdinal(), Safir::Utilities::ForEach::ResponseType::EnumerationContainer::GetOrdinal(), Safir::Control::Operation::EnumerationContainer::GetValOrDefault(), Safir::Dob::CallbackId::EnumerationContainer::GetValOrDefault(), Safir::Dob::ConnectionQueueId::EnumerationContainer::GetValOrDefault(), Safir::Dob::DistributionScope::EnumerationContainer::GetValOrDefault(), Safir::Dob::InjectionKind::EnumerationContainer::GetValOrDefault(), Safir::Dob::InstanceIdPolicy::EnumerationContainer::GetValOrDefault(), Safir::Dob::MemoryLevel::EnumerationContainer::GetValOrDefault(), Safir::Dob::NodeState::EnumerationContainer::GetValOrDefault(), Safir::Dob::PersistenceBackend::EnumerationContainer::GetValOrDefault(), Safir::Dob::PersistentDataState::EnumerationContainer::GetValOrDefault(), Safir::Utilities::ForEach::ResponseType::EnumerationContainer::GetValOrDefault(), Safir::Control::Operation::EnumerationContainer::operator==(), Safir::Dob::CallbackId::EnumerationContainer::operator==(), Safir::Dob::ConnectionQueueId::EnumerationContainer::operator==(), Safir::Dob::DistributionScope::EnumerationContainer::operator==(), Safir::Dob::InjectionKind::EnumerationContainer::operator==(), Safir::Dob::InstanceIdPolicy::EnumerationContainer::operator==(), Safir::Dob::MemoryLevel::EnumerationContainer::operator==(), Safir::Dob::NodeState::EnumerationContainer::operator==(), Safir::Dob::PersistenceBackend::EnumerationContainer::operator==(), Safir::Dob::PersistentDataState::EnumerationContainer::operator==(), and Safir::Utilities::ForEach::ResponseType::EnumerationContainer::operator==().
|
protecteddefault |
Copy assignment operator.
| other | [in] - The object to copy. |
References EnumerationContainerBase().
|
overridevirtual |
Set the container to null.
Implements Safir::Dob::Typesystem::ContainerBase.
References Safir::Dob::Typesystem::ContainerBase::m_bIsChanged, and m_bIsNull.
|
pure virtual |
Set the ordinal value of the enumeration container.
Note: Only applications that need to use "anonymous enums" should use this method. All other applications should be using the SetVal method.
| value | [in] - The new value. |
| IllegalValueException | The value is not in the range of the enumeration. |
Implemented in Safir::Control::Operation::EnumerationContainer, Safir::Dob::CallbackId::EnumerationContainer, Safir::Dob::ConnectionQueueId::EnumerationContainer, Safir::Dob::DistributionScope::EnumerationContainer, Safir::Dob::InjectionKind::EnumerationContainer, Safir::Dob::InstanceIdPolicy::EnumerationContainer, Safir::Dob::MemoryLevel::EnumerationContainer, Safir::Dob::NodeState::EnumerationContainer, Safir::Dob::PersistenceBackend::EnumerationContainer, Safir::Dob::PersistentDataState::EnumerationContainer, and Safir::Utilities::ForEach::ResponseType::EnumerationContainer.
|
friend |
References Safir::Dob::Typesystem::Internal::BlobOperations.
Referenced by Safir::Dob::Typesystem::Internal::BlobOperations.
|
protected |
The null flag for the enumeration container.
Referenced by EnumerationContainerBase(), HasVal(), IsNull(), SetNull(), Safir::Control::Operation::EnumerationContainer::SetOrdinal(), Safir::Dob::CallbackId::EnumerationContainer::SetOrdinal(), Safir::Dob::ConnectionQueueId::EnumerationContainer::SetOrdinal(), Safir::Dob::DistributionScope::EnumerationContainer::SetOrdinal(), Safir::Dob::InjectionKind::EnumerationContainer::SetOrdinal(), Safir::Dob::InstanceIdPolicy::EnumerationContainer::SetOrdinal(), Safir::Dob::MemoryLevel::EnumerationContainer::SetOrdinal(), Safir::Dob::NodeState::EnumerationContainer::SetOrdinal(), Safir::Dob::PersistenceBackend::EnumerationContainer::SetOrdinal(), Safir::Dob::PersistentDataState::EnumerationContainer::SetOrdinal(), and Safir::Utilities::ForEach::ResponseType::EnumerationContainer::SetOrdinal().
|
protected |
The value of the enumeration container.
This is the ordinal value. Needs to be cast to the correct type in the derived classes.
Referenced by EnumerationContainerBase(), Safir::Control::Operation::EnumerationContainer::GetOrdinal(), Safir::Dob::CallbackId::EnumerationContainer::GetOrdinal(), Safir::Dob::ConnectionQueueId::EnumerationContainer::GetOrdinal(), Safir::Dob::DistributionScope::EnumerationContainer::GetOrdinal(), Safir::Dob::InjectionKind::EnumerationContainer::GetOrdinal(), Safir::Dob::InstanceIdPolicy::EnumerationContainer::GetOrdinal(), Safir::Dob::MemoryLevel::EnumerationContainer::GetOrdinal(), Safir::Dob::NodeState::EnumerationContainer::GetOrdinal(), Safir::Dob::PersistenceBackend::EnumerationContainer::GetOrdinal(), Safir::Dob::PersistentDataState::EnumerationContainer::GetOrdinal(), Safir::Utilities::ForEach::ResponseType::EnumerationContainer::GetOrdinal(), Safir::Control::Operation::EnumerationContainer::operator==(), Safir::Dob::CallbackId::EnumerationContainer::operator==(), Safir::Dob::ConnectionQueueId::EnumerationContainer::operator==(), Safir::Dob::DistributionScope::EnumerationContainer::operator==(), Safir::Dob::InjectionKind::EnumerationContainer::operator==(), Safir::Dob::InstanceIdPolicy::EnumerationContainer::operator==(), Safir::Dob::MemoryLevel::EnumerationContainer::operator==(), Safir::Dob::NodeState::EnumerationContainer::operator==(), Safir::Dob::PersistenceBackend::EnumerationContainer::operator==(), Safir::Dob::PersistentDataState::EnumerationContainer::operator==(), Safir::Utilities::ForEach::ResponseType::EnumerationContainer::operator==(), Safir::Control::Operation::EnumerationContainer::SetOrdinal(), Safir::Dob::CallbackId::EnumerationContainer::SetOrdinal(), Safir::Dob::ConnectionQueueId::EnumerationContainer::SetOrdinal(), Safir::Dob::DistributionScope::EnumerationContainer::SetOrdinal(), Safir::Dob::InjectionKind::EnumerationContainer::SetOrdinal(), Safir::Dob::InstanceIdPolicy::EnumerationContainer::SetOrdinal(), Safir::Dob::MemoryLevel::EnumerationContainer::SetOrdinal(), Safir::Dob::NodeState::EnumerationContainer::SetOrdinal(), Safir::Dob::PersistenceBackend::EnumerationContainer::SetOrdinal(), Safir::Dob::PersistentDataState::EnumerationContainer::SetOrdinal(), and Safir::Utilities::ForEach::ResponseType::EnumerationContainer::SetOrdinal().