[/ Boost.Optional Copyright (c) 2003-2007 Fernando Luis Cacciola Carballal Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ] [section Implementation Notes] `optional` is currently implemented using a custom aligned storage facility built from `alignment_of` and `type_with_alignment` (both from Type Traits). It uses a separate boolean flag to indicate the initialization state. Placement new with `T`'s copy constructor and `T`'s destructor are explicitly used to initialize,copy and destroy optional values. As a result, `T`'s default constructor is effectively by-passed, but the exception guarantees are basic. It is planned to replace the current implementation with another with stronger exception safety, such as a future `boost::variant`. [endsect]