NCBI C++ ToolKit
Public Member Functions | Private Attributes | List of all members
CNullable< TValue, TNullToValue > Class Template Reference

Search Toolkit Book for CNullable

Template class allowing to store a value or null (unassigned) state. More...

#include <corelib/ncbimisc.hpp>

+ Inheritance diagram for CNullable< TValue, TNullToValue >:

Public Member Functions

 CNullable (ENull=null)
 Create an empty nullable. More...
 CNullable (TValue value)
 Initialize nullable with a specific value. More...
bool IsNull (void) const
 Check if the object is unassigned. More...
 operator TValue (void) const
 Get nullable value. More...
const TValue & GetValue (void) const
 Get a const reference to the current value. More...
TValue & SetValue (void)
 Get a non-const reference to the value. More...
CNullableoperator= (TValue value)
 Assign a value to the nullable. More...
CNullableoperator= (ENull)
 Reset nullable to unassigned state. More...

Private Attributes

bool m_IsNull
TValue m_Value

Detailed Description

template<class TValue, class TNullToValue = SThrowOnNull<TValue>>
class CNullable< TValue, TNullToValue >

Template class allowing to store a value or null (unassigned) state.

TNullToValue functor can be used to perform an action when the value is requested from a null object. By default CCoreException is thrown. To perform other actions (e.g. provide a default value) the functor must define 'TValue operator()(void) const' method.

: Use std::optional<> instead.

Definition at line 672 of file ncbimisc.hpp.

The documentation for this class was generated from the following file:
Modified on Fri Sep 29 07:32:22 2023 by rev. 669887