Component‐private buffer managing an optional's contained value.

Synopsis

Declared in <bslstl_optional.h>

template<class t_TYPE>
struct Optional_DataImp;

Description

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.

Member Functions

Name

Description

Optional_DataImp [constructor]

Constructors

emplace

Destroy any contained value and construct a new one in place.

hasValue

Return true if this objects has a value, and false otherwise.

reset

Destroy the value_type object in d_buffer, if any.

value

value overloads

Derived Classes

Name

Description

Optional_Data<t_TYPE, true>

Partial specialization for a trivially destructible contained value.

Optional_Data

Component‐private storage that destroys a non‐trivial contained value.

Created with MrDocs