B2BITS FIX Antenna C++ 2.33.0
Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
Utils::NullableValue< T > Class Template Reference

Represents entity with three states - undefined, empty and assigned. More...

#include <B2BITS_NullableValue.h>

Public Types

typedef NullableValue< value_type_Myt
 Self type.
 
typedef T value_type
 Type of the stored value.
 

Public Member Functions

bool equals (const _Myt &rv) const
 Compares two objects.
 
value_typeget ()
 Returns stored value If value is undefined or empty, std::exception is raised.
 
const value_typeget () const
 Returns stored value If value is undefined or empty, std::exception is raised.
 
bool hasValue () const
 Returns true if value assigned and is not empty.
 
bool isDefined () const
 Returns true if value assigned.
 
bool isEmpty () const
 Returns true if value assigned with empty value.
 
 NullableValue ()
 Default constructor.
 
template<typename Other >
 NullableValue (const Emptily< Other > &value)
 Generic copy constructor.
 
 NullableValue (const Emptily< value_type > &value)
 Conversion constructor.
 
template<typename Other >
 NullableValue (const NullableValue< Other > &value)
 Generic copy constructor.
 
template<typename Other >
 NullableValue (const Other &value)
 Generic conversion constructor.
 
 NullableValue (EmptyValue)
 Conversion constructor.
 
 NullableValue (UndefinedValue)
 Conversion constructor.
 
 NullableValue (value_type value)
 Conversion constructor.
 
bool operator!= (const _Myt &rv) const
 Compare operator.
 
value_typeoperator* ()
 Returns stored value If value is undefined or empty, std::exception is raised.
 
const value_typeoperator* () const
 Returns stored value If value is undefined or empty, std::exception is raised.
 
value_typeoperator-> ()
 Selector operator.
 
const value_typeoperator-> () const
 Selector operator.
 
_Mytoperator= (const _Myt &value)
 Assign operator.
 
template<typename Other >
_Mytoperator= (const Emptily< Other > &value)
 Assign operator.
 
_Mytoperator= (const Emptily< value_type > &value)
 Assign operator.
 
template<typename Other >
_Mytoperator= (const NullableValue< Other > &value)
 Assign operator.
 
template<typename Other >
_Mytoperator= (const Other &value)
 Assign operator.
 
_Mytoperator= (const value_type &value)
 Assign operator.
 
_Mytoperator= (EmptyValue)
 Assign operator.
 
_Mytoperator= (UndefinedValue)
 Assign operator.
 
bool operator== (const _Myt &rv) const
 Compare operator.
 
void reset ()
 Resets object to undefined state.
 
ValueState state () const
 Returns state of the object.
 

Detailed Description

template<typename T>
class Utils::NullableValue< T >

Represents entity with three states - undefined, empty and assigned.

Member Typedef Documentation

◆ _Myt

template<typename T >
typedef NullableValue<value_type> Utils::NullableValue< T >::_Myt

Self type.

◆ value_type

template<typename T >
typedef T Utils::NullableValue< T >::value_type

Type of the stored value.

Constructor & Destructor Documentation

◆ NullableValue() [1/8]

template<typename T >
Utils::NullableValue< T >::NullableValue ( value_type value)
inline

Conversion constructor.

◆ NullableValue() [2/8]

template<typename T >
Utils::NullableValue< T >::NullableValue ( const Emptily< value_type > & value)
inline

Conversion constructor.

◆ NullableValue() [3/8]

template<typename T >
Utils::NullableValue< T >::NullableValue ( EmptyValue )
inline

Conversion constructor.

◆ NullableValue() [4/8]

template<typename T >
Utils::NullableValue< T >::NullableValue ( UndefinedValue )
inline

Conversion constructor.

◆ NullableValue() [5/8]

template<typename T >
template<typename Other >
Utils::NullableValue< T >::NullableValue ( const Other & value)
inline

Generic conversion constructor.

◆ NullableValue() [6/8]

template<typename T >
template<typename Other >
Utils::NullableValue< T >::NullableValue ( const Emptily< Other > & value)
inline

Generic copy constructor.

◆ NullableValue() [7/8]

template<typename T >
template<typename Other >
Utils::NullableValue< T >::NullableValue ( const NullableValue< Other > & value)
inline

Generic copy constructor.

◆ NullableValue() [8/8]

template<typename T >
Utils::NullableValue< T >::NullableValue ( )
inline

Default constructor.

Member Function Documentation

◆ equals()

template<typename T >
bool Utils::NullableValue< T >::equals ( const _Myt & rv) const
inline

◆ get() [1/2]

template<typename T >
value_type * Utils::NullableValue< T >::get ( )
inline

Returns stored value If value is undefined or empty, std::exception is raised.

References Utils::vsAssigned.

Referenced by Utils::NullableValue< T >::operator*(), Utils::NullableValue< T >::operator*(), Utils::NullableValue< T >::operator->(), and Utils::NullableValue< T >::operator->().

◆ get() [2/2]

template<typename T >
const value_type * Utils::NullableValue< T >::get ( ) const
inline

Returns stored value If value is undefined or empty, std::exception is raised.

References Utils::vsAssigned.

◆ hasValue()

template<typename T >
bool Utils::NullableValue< T >::hasValue ( ) const
inline

Returns true if value assigned and is not empty.

References Utils::vsAssigned.

◆ isDefined()

template<typename T >
bool Utils::NullableValue< T >::isDefined ( ) const
inline

Returns true if value assigned.

References Utils::vsUndefined.

Referenced by Utils::Emptily< T >::Emptily().

◆ isEmpty()

template<typename T >
bool Utils::NullableValue< T >::isEmpty ( ) const
inline

Returns true if value assigned with empty value.

References Utils::vsEmpty.

◆ operator!=()

template<typename T >
bool Utils::NullableValue< T >::operator!= ( const _Myt & rv) const
inline

Compare operator.

References Utils::NullableValue< T >::equals().

◆ operator*() [1/2]

template<typename T >
value_type & Utils::NullableValue< T >::operator* ( )
inline

Returns stored value If value is undefined or empty, std::exception is raised.

References Utils::NullableValue< T >::get().

◆ operator*() [2/2]

template<typename T >
const value_type & Utils::NullableValue< T >::operator* ( ) const
inline

Returns stored value If value is undefined or empty, std::exception is raised.

References Utils::NullableValue< T >::get().

◆ operator->() [1/2]

template<typename T >
value_type * Utils::NullableValue< T >::operator-> ( )
inline

Selector operator.

References Utils::NullableValue< T >::get().

◆ operator->() [2/2]

template<typename T >
const value_type * Utils::NullableValue< T >::operator-> ( ) const
inline

Selector operator.

References Utils::NullableValue< T >::get().

◆ operator=() [1/8]

template<typename T >
_Myt & Utils::NullableValue< T >::operator= ( const _Myt & value)
inline

Assign operator.

◆ operator=() [2/8]

template<typename T >
template<typename Other >
_Myt & Utils::NullableValue< T >::operator= ( const Emptily< Other > & value)
inline

Assign operator.

◆ operator=() [3/8]

template<typename T >
_Myt & Utils::NullableValue< T >::operator= ( const Emptily< value_type > & value)
inline

Assign operator.

◆ operator=() [4/8]

template<typename T >
template<typename Other >
_Myt & Utils::NullableValue< T >::operator= ( const NullableValue< Other > & value)
inline

Assign operator.

◆ operator=() [5/8]

template<typename T >
template<typename Other >
_Myt & Utils::NullableValue< T >::operator= ( const Other & value)
inline

Assign operator.

◆ operator=() [6/8]

template<typename T >
_Myt & Utils::NullableValue< T >::operator= ( const value_type & value)
inline

Assign operator.

◆ operator=() [7/8]

template<typename T >
_Myt & Utils::NullableValue< T >::operator= ( EmptyValue )
inline

Assign operator.

References Utils::vsEmpty.

◆ operator=() [8/8]

template<typename T >
_Myt & Utils::NullableValue< T >::operator= ( UndefinedValue )
inline

Assign operator.

References Utils::vsUndefined.

◆ operator==()

template<typename T >
bool Utils::NullableValue< T >::operator== ( const _Myt & rv) const
inline

Compare operator.

References Utils::NullableValue< T >::equals().

◆ reset()

template<typename T >
void Utils::NullableValue< T >::reset ( )
inline

Resets object to undefined state.

References Utils::vsUndefined.

◆ state()

template<typename T >
ValueState Utils::NullableValue< T >::state ( ) const
inline

Returns state of the object.