Compare commits

..

1 Commits

Author SHA1 Message Date
edd9fec76b Release 1.37.0
[SVN r51178]
2009-02-10 13:14:42 +00:00
8 changed files with 53 additions and 13 deletions

22
CMakeLists.txt Normal file
View File

@ -0,0 +1,22 @@
#----------------------------------------------------------------------------
# This file was automatically generated from the original CMakeLists.txt file
# Add a variable to hold the headers for the library
set (lib_headers
optional.hpp
optional
)
# Add a library target to the build system
boost_library_project(
optional
# SRCDIRS
TESTDIRS test
HEADERS ${lib_headers}
# DOCDIRS
# DESCRIPTION
MODULARIZED
# AUTHORS
# MAINTAINERS
)

View File

@ -12,8 +12,6 @@
import quickbook ;
path-constant images : html ;
xml optional
:
optional.qbk
@ -28,8 +26,5 @@ boostbook standalone
<xsl:param>toc.max.depth=2
<xsl:param>toc.section.depth=2
<xsl:param>chunk.section.depth=1
<format>pdf:<xsl:param>img.src.path=$(images)/
<format>pdf:<xsl:param>boost.url.prefix=http://www.boost.org/doc/libs/release/libs/optional/doc/html
;

View File

@ -10,6 +10,8 @@
[#optional_implementation_notes]
[section Implementation Notes]
`optional<T>` is currently implemented using a custom aligned storage facility

View File

@ -331,7 +331,7 @@ factory.
* [*Postconditions: ] `*this` is [_initialized] and its value is ['directly given]
from the factory `f` (i.e., the value [_is not copied]).
* [*Throws:] Whatever the `T` constructor called by the factory throws.
* [*Notes:] See [link boost_optional.in_place_factories In-Place Factories]
* [*Notes:] See [link optional_in_place_factories In-Place Factories]
* [*Exception Safety:] Exceptions can only be thrown during the call to
the `T` constructor used by the factory; in that case, this constructor has
no effect.
@ -385,7 +385,7 @@ __SPACE__
* [*Postconditions: ] `*this` is initialized and it references the same
object referenced by `rhs`.
* [*Notes:] If `*this` was initialized, is is ['rebound] to the new object.
See [link boost_optional.rebinding_semantics_for_assignment_of_optional_references here] for details on this behavior.
See [link optional_refassign here] for details on this behavior.
* [*Example:]
``
int a = 1 ;
@ -444,7 +444,7 @@ __SPACE__
references the same object referenced by `*rhs`; otherwise, `*this` is
uninitialized (and references no object).
* [*Notes:] If `*this` was initialized and so is *rhs, this is is ['rebound] to
the new object. See [link boost_optional.rebinding_semantics_for_assignment_of_optional_references here] for details on this behavior.
the new object. See [link optional_refassign here] for details on this behavior.
* [*Example:]
``
int a = 1 ;

View File

@ -23,6 +23,8 @@ rather than the reference itself.
[endsect]
[#optional_refassign]
[section Rebinding semantics for assignment of optional references]
If you assign to an ['uninitialized ] `optional<T&>` the effect is to bind (for
@ -110,6 +112,8 @@ In such scenario, you can assign the value itself directly, as in:
[endsect]
[#optional_in_place_factories]
[section In-Place Factories]
One of the typical problems with wrappers and containers is that their
@ -284,7 +288,7 @@ instead, it won't compile).
[section Exception Safety Guarantees]
Because of the current implementation (see [link boost_optional.implementation_notes Implementation Notes]), all of the assignment methods:
Because of the current implementation (see [link optional_implementation_notes Implementation Notes]), all of the assignment methods:
* `optional<T>::operator= ( optional<T> const& )`
* `optional<T>::operator= ( T const& )`

1
module.cmake Normal file
View File

@ -0,0 +1 @@
boost_module(optional DEPENDS utility)

16
test/CMakeLists.txt Normal file
View File

@ -0,0 +1,16 @@
boost_additional_test_dependencies(optional BOOST_DEPENDS test tuple)
boost_test_run(optional_test)
boost_test_run(optional_test_tie)
boost_test_run(optional_test_ref)
boost_test_run(optional_test_inplace)
boost_test_run(optional_test_io)
boost_test_compile_fail(optional_test_fail1)
boost_test_compile_fail(optional_test_fail3a)
boost_test_compile_fail(optional_test_fail3b)
boost_test_compile_fail(optional_test_ref_fail1)
boost_test_compile_fail(optional_test_ref_fail3)
boost_test_compile_fail(optional_test_ref_fail4)
boost_test_compile_fail(optional_test_inplace_fail)
boost_test_compile_fail(optional_test_inplace_fail2)

View File

@ -342,14 +342,14 @@ void test_binding()
int i = 0 ;
optional<int&> ori1 = i ;
BOOST_CHECK( &(*ori1) == &i ) ;
optional<int&> ori2(i) ;
BOOST_CHECK( &(*ori2) == &i ) ;
int const ci = 0 ;
optional<int const&> orci1 = ci ;
BOOST_CHECK( &(*orci1) == &ci ) ;
optional<int const&> orci2(ci) ;
BOOST_CHECK( &(*orci2) == &ci ) ;
}
@ -360,7 +360,7 @@ int test_main( int, char* [] )
{
test_with_class_type();
test_with_builtin_types();
test_binding();
test_binding();
}
catch ( ... )
{