|
BDE 4.39.x Production Release
|
#include <bslstl_optional.h>
This component-private struct manages a value_type object in an Optional_Base object. This class provides an abstraction for const value type. An Optional_Base object may contain an object of const type. An assignment to such an Optional_Base object should not succeed. However, unless the Optional_Base object itself is const, it should be possible to change the value of the Optional_Base object using emplace. In order to allow for that, this class manages a non-const object of value_type, but all the accessors return a const adjusted reference to the managed object.
See bslstl_optional
Public Member Functions | |
| Optional_DataImp () BSLS_KEYWORD_NOEXCEPT | |
| template<class... t_ARGS> | |
| t_TYPE & | emplace (bslma::Allocator *allocator, BSLS_COMPILERFEATURES_FORWARD_REF(t_ARGS)... args) |
| void | reset () BSLS_KEYWORD_NOEXCEPT |
| t_TYPE & | value () |
| bool | hasValue () const BSLS_KEYWORD_NOEXCEPT |
| const t_TYPE & | value () const |
| bslstl::Optional_DataImp< t_TYPE >::Optional_DataImp | ( | ) |
Create an empty Optional_DataImp object.
|
inline |
Create an object of StoredType in d_buffer using the specified allocator and args and return a reference providing modifiable access to the underlying t_TYPE object.
|
inline |
Return true if this objects has a value, and false otherwise.
| void bslstl::Optional_DataImp< t_TYPE >::reset | ( | ) |
Destroy the value_type object in d_buffer, if any.
|
inline |
Return the value_type object in d_buffer with const qualification adjusted to match that of t_TYPE.
this->hasValue() == true.
|
inline |
Return the value_type object in d_buffer with const qualification adjusted to match that of t_TYPE.
this->hasValue() == true.