diff --git a/doc/91_relnotes.qbk b/doc/91_relnotes.qbk index e75fef7..eb2b310 100644 --- a/doc/91_relnotes.qbk +++ b/doc/91_relnotes.qbk @@ -11,12 +11,16 @@ [section:relnotes Release Notes] +[heading Boost Release 1.59] + +* For C++03 compilers, added 0-argument overload for member function `emplace()`, and therewith removed the dependency on ``. + [heading Boost Release 1.58] * `boost::none_t` is no longer convertible from literal `0`. This avoids a bug where `optional> oi = 0;` would initialize an optional object with no contained value. -* Improved the trick that prevents streaming out `optional` without header `optional_io.hpp` by using safe-bool idiom. This addresses [@https://svn.boost.org/trac/boost/ticket/10825 Trac #10825] +* Improved the trick that prevents streaming out `optional` without header `optional_io.hpp` by using safe-bool idiom. This addresses [@https://svn.boost.org/trac/boost/ticket/10825 Trac #10825]. * IOStream operators are now mentioned in documentation. -* Added a way to manually disable move semantics: just define macro `BOOST_OPTIONAL_CONFIG_NO_RVALUE_REFERENCES`. This can be used to work around [@https://svn.boost.org/trac/boost/ticket/10399 Trac #10399] +* Added a way to manually disable move semantics: just define macro `BOOST_OPTIONAL_CONFIG_NO_RVALUE_REFERENCES`. This can be used to work around [@https://svn.boost.org/trac/boost/ticket/10399 Trac #10399]. * It is no longer possible to assign `optional` to `optional` when `U` is not assignable or convertible to `T` ([@https://svn.boost.org/trac/boost/ticket/11087 Trac #11087]). * Value accessors now work correctly on rvalues of `optional` ([@https://svn.boost.org/trac/boost/ticket/10839 Trac #10839]). diff --git a/doc/html/boost_optional/relnotes.html b/doc/html/boost_optional/relnotes.html index 3fb495b..445eaa8 100644 --- a/doc/html/boost_optional/relnotes.html +++ b/doc/html/boost_optional/relnotes.html @@ -28,6 +28,15 @@

+ Boost + Release 1.59 +

+
  • + For C++03 compilers, added 0-argument overload for member function emplace(), + and therewith removed the dependency on <boost/utility/in_place_factory.hpp>. +
+

+ Boost Release 1.58

@@ -42,7 +51,7 @@ Improved the trick that prevents streaming out optional without header optional_io.hpp by using safe-bool idiom. This addresses Trac - #10825 + #10825.
  • IOStream operators are now mentioned in documentation. @@ -50,7 +59,7 @@
  • Added a way to manually disable move semantics: just define macro BOOST_OPTIONAL_CONFIG_NO_RVALUE_REFERENCES. This can be used to work around Trac - #10399 + #10399.
  • It is no longer possible to assign optional<U> to optional<T> when U @@ -63,7 +72,7 @@
  • - + Boost Release 1.57

    @@ -73,7 +82,7 @@ to fix C++03 compile error on logic_error("...")".

    - + Boost Release 1.56

    diff --git a/doc/html/index.html b/doc/html/index.html index 6af5b8e..2b0d9fd 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -146,7 +146,7 @@ - +

    Last revised: May 27, 2015 at 12:41:23 GMT

    Last revised: July 08, 2015 at 21:39:55 GMT


    diff --git a/test/Jamfile.v2 b/test/Jamfile.v2 index ca3f86d..ea9e81b 100644 --- a/test/Jamfile.v2 +++ b/test/Jamfile.v2 @@ -18,9 +18,6 @@ import testing ; { test-suite optional : [ run optional_test.cpp ] - [ run ak_test_vc14_noexcept.cpp ] - [ run ak_test_trait_noexcept_default.cpp ] - [ run ak_test_rvalue_references.cpp ] [ run optional_test_swap.cpp ] [ run optional_test_conversions_from_U.cpp ] [ run optional_test_tie.cpp ] diff --git a/test/ak_test_rvalue_references.cpp b/test/ak_test_rvalue_references.cpp deleted file mode 100644 index 29a2993..0000000 --- a/test/ak_test_rvalue_references.cpp +++ /dev/null @@ -1,31 +0,0 @@ -// Copyright (C) 2014 Andrzej Krzemienski. -// -// Use, modification, and distribution is subject to 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) -// -// See http://www.boost.org/lib/optional for documentation. -// -// You are welcome to contact the author at: -// akrzemi1@gmail.com - -#include "boost/static_assert.hpp" -#include "boost/optional/optional.hpp" - -#ifdef __BORLANDC__ -#pragma hdrstop -#endif - - -using boost::optional; - -#if defined BOOST_NO_CXX11_RVALUE_REFERENCES -BOOST_STATIC_ASSERT_MSG(false, "absent rvalue refs"); -#endif - -int main() -{ - return 0; -} - - diff --git a/test/ak_test_trait_noexcept_default.cpp b/test/ak_test_trait_noexcept_default.cpp deleted file mode 100644 index 7dd8ac2..0000000 --- a/test/ak_test_trait_noexcept_default.cpp +++ /dev/null @@ -1,26 +0,0 @@ -#include -#include -#include - -namespace some_namespace -{ - class base_class - { - public: - base_class & operator=(const base_class &){ throw int(); } - virtual ~base_class() {} - }; - - class class_without_default_ctor : public base_class - { - public: - char data; - explicit class_without_default_ctor(char arg) : data(arg) {} - }; -} - -int main() -{ - BOOST_TEST_TRAIT_FALSE((boost::has_nothrow_default_constructor)); - return boost::report_errors(); -} diff --git a/test/ak_test_vc14_noexcept.cpp b/test/ak_test_vc14_noexcept.cpp deleted file mode 100644 index 03aa15a..0000000 --- a/test/ak_test_vc14_noexcept.cpp +++ /dev/null @@ -1,70 +0,0 @@ -// Copyright (C) 2014 Andrzej Krzemienski. -// -// Use, modification, and distribution is subject to 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) -// -// See http://www.boost.org/lib/optional for documentation. -// -// You are welcome to contact the author at: -// akrzemi1@gmail.com - -#include "boost/static_assert.hpp" -#include "boost/optional/optional.hpp" - -#ifdef __BORLANDC__ -#pragma hdrstop -#endif - - -using boost::optional; - -#if defined BOOST_NO_CXX11_NOEXCEPT -BOOST_STATIC_ASSERT_MSG(false, "absent noexcept"); -#endif - -// these 4 classes have different noexcept signatures in move operations -struct NothrowBoth { - NothrowBoth() BOOST_NOEXCEPT {}; - NothrowBoth(NothrowBoth&&) BOOST_NOEXCEPT_IF(true) {}; - void operator=(NothrowBoth&&) BOOST_NOEXCEPT_IF(true) {}; -}; -struct NothrowCtor { - NothrowCtor(NothrowCtor&&) BOOST_NOEXCEPT_IF(true) {}; - void operator=(NothrowCtor&&) BOOST_NOEXCEPT_IF(false) {}; -}; -struct NothrowAssign { - NothrowAssign(NothrowAssign&&) BOOST_NOEXCEPT_IF(false) {}; - void operator=(NothrowAssign&&) BOOST_NOEXCEPT_IF(true) {}; -}; -struct NothrowNone { - NothrowNone(NothrowNone&&) BOOST_NOEXCEPT_IF(false) {}; - void operator=(NothrowNone&&) BOOST_NOEXCEPT_IF(false) {}; -}; - -NothrowBoth ntb; -BOOST_STATIC_ASSERT( BOOST_NOEXCEPT_EXPR( ntb = NothrowBoth() )); - -void test_noexcept_as_defined() // this is a compile-time test -{ - BOOST_STATIC_ASSERT(::boost::is_nothrow_move_constructible::value); - BOOST_STATIC_ASSERT(::boost::is_nothrow_move_assignable::value); - - BOOST_STATIC_ASSERT(::boost::is_nothrow_move_constructible::value); - BOOST_STATIC_ASSERT(!::boost::is_nothrow_move_assignable::value); - - BOOST_STATIC_ASSERT(!::boost::is_nothrow_move_constructible::value); - BOOST_STATIC_ASSERT(::boost::is_nothrow_move_assignable::value); - - BOOST_STATIC_ASSERT(!::boost::is_nothrow_move_constructible::value); - BOOST_STATIC_ASSERT(!::boost::is_nothrow_move_assignable::value); -} - - - -int main() -{ - return 0; -} - -