From c3abf834264d683a098bbc0638a34b35f359c929 Mon Sep 17 00:00:00 2001 From: Nikita Kniazev Date: Wed, 31 Aug 2016 17:37:50 +0300 Subject: [PATCH 001/163] Suppress weak vtables warning --- include/boost/optional/bad_optional_access.hpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/include/boost/optional/bad_optional_access.hpp b/include/boost/optional/bad_optional_access.hpp index cabf43fb..add78675 100644 --- a/include/boost/optional/bad_optional_access.hpp +++ b/include/boost/optional/bad_optional_access.hpp @@ -19,6 +19,11 @@ namespace boost { +#if defined(__clang__) +# pragma clang diagnostic push +# pragma clang diagnostic ignored "-Wweak-vtables" +#endif + class bad_optional_access : public std::logic_error { public: @@ -27,6 +32,10 @@ class bad_optional_access : public std::logic_error {} }; +#if defined(__clang__) +# pragma clang diagnostic pop +#endif + } // namespace boost #endif From cd4e44f3dc66a24c49ac4dc7d176cff98bcca821 Mon Sep 17 00:00:00 2001 From: Matt Date: Thu, 13 Apr 2017 09:13:26 -0400 Subject: [PATCH 002/163] r #12967 make none_t constructor constexpr --- include/boost/none_t.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/boost/none_t.hpp b/include/boost/none_t.hpp index 008f369d..9ed94094 100644 --- a/include/boost/none_t.hpp +++ b/include/boost/none_t.hpp @@ -29,7 +29,7 @@ class none_t {}; struct none_t { struct init_tag{}; - explicit none_t(init_tag){} // to disable default constructor + explicit constexpr none_t(init_tag){} // to disable default constructor }; #endif // old implementation workarounds From b709447922e48e857d442856465a752312d54c2e Mon Sep 17 00:00:00 2001 From: Matt Date: Wed, 16 Aug 2017 13:52:46 -0400 Subject: [PATCH 003/163] r #12967 use BOOST_CONSTEXPR on none_t ctor --- include/boost/none_t.hpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/include/boost/none_t.hpp b/include/boost/none_t.hpp index 9ed94094..6b3c8334 100644 --- a/include/boost/none_t.hpp +++ b/include/boost/none_t.hpp @@ -13,6 +13,8 @@ #ifndef BOOST_NONE_T_17SEP2003_HPP #define BOOST_NONE_T_17SEP2003_HPP +#include + namespace boost { #ifdef BOOST_OPTIONAL_USE_OLD_DEFINITION_OF_NONE @@ -29,7 +31,7 @@ class none_t {}; struct none_t { struct init_tag{}; - explicit constexpr none_t(init_tag){} // to disable default constructor + explicit BOOST_CONSTEXPR none_t(init_tag){} // to disable default constructor }; #endif // old implementation workarounds From 4fbb7582e1774b1d6ef29e27b77aca3e9a3df368 Mon Sep 17 00:00:00 2001 From: Casey Carter Date: Wed, 18 Dec 2019 17:51:51 -0800 Subject: [PATCH 004/163] Don't instantiate is_convertible_to_T_or_factory when is_optional_related Fixes #78. --- include/boost/optional/optional.hpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/include/boost/optional/optional.hpp b/include/boost/optional/optional.hpp index 92df93d6..aadc975a 100644 --- a/include/boost/optional/optional.hpp +++ b/include/boost/optional/optional.hpp @@ -777,7 +777,7 @@ class optional_base : public optional_tag #include -// definition of metafunciton is_optional_val_init_candidate +// definition of metafunction is_optional_val_init_candidate template struct is_optional_related : boost::conditional< boost::is_base_of::type>::value @@ -813,9 +813,14 @@ struct is_optional_constructible : boost::true_type #endif // is_convertible condition -template +template ::value> struct is_optional_val_init_candidate - : boost::conditional< !is_optional_related::value && is_convertible_to_T_or_factory::value + : boost::false_type +{}; + +template +struct is_optional_val_init_candidate + : boost::conditional< is_convertible_to_T_or_factory::value , boost::true_type, boost::false_type>::type {}; From 9ed20cb0854120f76d4ccc0f9821c38553574f7e Mon Sep 17 00:00:00 2001 From: Andrey Semashev Date: Tue, 29 Oct 2019 21:21:03 +0300 Subject: [PATCH 005/163] Marked none instances as inline variables. This should avoid duplicating none instances in all translation units. Closes https://github.com/boostorg/optional/issues/33. --- include/boost/none.hpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/include/boost/none.hpp b/include/boost/none.hpp index a37c45c5..b5df2143 100644 --- a/include/boost/none.hpp +++ b/include/boost/none.hpp @@ -13,6 +13,7 @@ #ifndef BOOST_NONE_17SEP2003_HPP #define BOOST_NONE_17SEP2003_HPP +#include "boost/config.hpp" #include "boost/none_t.hpp" // NOTE: Borland users have to include this header outside any precompiled headers @@ -23,7 +24,7 @@ namespace boost { #ifdef BOOST_OPTIONAL_USE_OLD_DEFINITION_OF_NONE -none_t const none = (static_cast(0)) ; +BOOST_INLINE_VARIABLE none_t const none = (static_cast(0)) ; #elif defined BOOST_OPTIONAL_USE_SINGLETON_DEFINITION_OF_NONE @@ -35,7 +36,7 @@ namespace detail { namespace optional_detail { { static const T instance; }; - + template const T none_instance::instance = T(); // global, but because 'tis a template, no cpp file required @@ -49,7 +50,7 @@ namespace { #else -const none_t none ((none_t::init_tag())); +BOOST_INLINE_VARIABLE const none_t none ((none_t::init_tag())); #endif // older definitions From 13bc27698e96fd6a8a8191b63ae14d6a5828d1bb Mon Sep 17 00:00:00 2001 From: Andrzej Krzemienski Date: Fri, 20 Dec 2019 00:18:52 +0100 Subject: [PATCH 006/163] Add test case for fix to issue #78 --- doc/91_relnotes.qbk | 4 ++ doc/html/boost_optional/relnotes.html | 31 ++++++++----- doc/html/index.html | 2 +- test/Jamfile.v2 | 1 + test/optional_test_path_assignment.cpp | 62 ++++++++++++++++++++++++++ 5 files changed, 88 insertions(+), 12 deletions(-) create mode 100644 test/optional_test_path_assignment.cpp diff --git a/doc/91_relnotes.qbk b/doc/91_relnotes.qbk index a29137ce..f19da24b 100644 --- a/doc/91_relnotes.qbk +++ b/doc/91_relnotes.qbk @@ -11,6 +11,10 @@ [section:relnotes Release Notes] +[heading Boost Release 1.73] + +* Fixed [@https://github.com/boostorg/optional/issues/78 issue #78]. + [heading Boost Release 1.69] * Remove deprecation mark from `reset()` method (without arguments). diff --git a/doc/html/boost_optional/relnotes.html b/doc/html/boost_optional/relnotes.html index 3d846966..600639ea 100644 --- a/doc/html/boost_optional/relnotes.html +++ b/doc/html/boost_optional/relnotes.html @@ -28,6 +28,15 @@

+ Boost + Release 1.73 +

+
+

+ Boost Release 1.69

@@ -45,7 +54,7 @@

- + Boost Release 1.68

@@ -62,7 +71,7 @@

- + Boost Release 1.67

@@ -76,7 +85,7 @@

- + Boost Release 1.66

@@ -94,7 +103,7 @@

- + Boost Release 1.63

@@ -118,7 +127,7 @@

- + Boost Release 1.62

@@ -126,7 +135,7 @@

Fixed Trac #12179.

- + Boost Release 1.61

@@ -169,7 +178,7 @@

- + Boost Release 1.60

@@ -180,7 +189,7 @@

#11203.

- + Boost Release 1.59

@@ -194,7 +203,7 @@

- + Boost Release 1.58

@@ -230,7 +239,7 @@

- + Boost Release 1.57

@@ -240,7 +249,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 39d99e7b..9094ce06 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -145,7 +145,7 @@

- +

Last revised: November 08, 2018 at 17:44:53 GMT

Last revised: December 19, 2019 at 23:07:07 GMT


diff --git a/test/Jamfile.v2 b/test/Jamfile.v2 index 7936ad7b..a881d52a 100644 --- a/test/Jamfile.v2 +++ b/test/Jamfile.v2 @@ -50,6 +50,7 @@ import testing ; [ run optional_test_member_T.cpp ] [ run optional_test_tc_base.cpp ] [ compile optional_test_sfinae_friendly_ctor.cpp ] + [ compile optional_test_path_assignment.cpp ] [ compile-fail optional_test_fail_const_swap.cpp ] [ compile-fail optional_test_ref_convert_assign_const_int_prevented.cpp ] [ compile-fail optional_test_fail1.cpp ] diff --git a/test/optional_test_path_assignment.cpp b/test/optional_test_path_assignment.cpp new file mode 100644 index 00000000..6da67184 --- /dev/null +++ b/test/optional_test_path_assignment.cpp @@ -0,0 +1,62 @@ +// Copyright (C) 2019 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/optional/optional.hpp" + +#ifdef __BORLANDC__ +#pragma hdrstop +#endif + +template +struct void_t +{ + typedef void type; +}; + + +template +struct trait +{ +}; + +// the following trait emulates properties std::iterator_traits +template +struct trait >::type + >::type> +{ + typedef BOOST_DEDUCED_TYPENAME T::value_type value_type; +}; + +// This class emulates the properties of std::filesystem::path +struct Path +{ + template ::value_type> + Path(T const&); +}; + + +int main() +{ +#ifndef BOOST_OPTIONAL_DETAIL_NO_IS_CONSTRUCTIBLE_TRAIT +#ifndef BOOST_OPTIONAL_DETAIL_NO_SFINAE_FRIENDLY_CONSTRUCTORS + + boost::optional optFs1; + boost::optional optFs2; + + optFs1 = optFs2; + + // the following still fails although it shouldn't + //BOOST_STATIC_ASSERT((std::is_copy_constructible>::value)); + +#endif +#endif +} From 010ee006040c19239af9d6ae7cfab4a2ac0279c7 Mon Sep 17 00:00:00 2001 From: Andrzej Krzemienski Date: Fri, 20 Dec 2019 00:30:37 +0100 Subject: [PATCH 007/163] Update release notes --- doc/91_relnotes.qbk | 1 + doc/html/boost_optional/relnotes.html | 10 ++++++++-- doc/html/index.html | 2 +- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/doc/91_relnotes.qbk b/doc/91_relnotes.qbk index f19da24b..b5be701d 100644 --- a/doc/91_relnotes.qbk +++ b/doc/91_relnotes.qbk @@ -14,6 +14,7 @@ [heading Boost Release 1.73] * Fixed [@https://github.com/boostorg/optional/issues/78 issue #78]. +* `boost::none` is now declared as an inline variable (on compilers taht support it): there is only one instance of `boost::none` across all translation units. [heading Boost Release 1.69] diff --git a/doc/html/boost_optional/relnotes.html b/doc/html/boost_optional/relnotes.html index 600639ea..333178d1 100644 --- a/doc/html/boost_optional/relnotes.html +++ b/doc/html/boost_optional/relnotes.html @@ -31,10 +31,16 @@

Boost Release 1.73

-
  • +
    +
  • +
  • + boost::none is now declared as an inline variable + (on compilers taht support it): there is only one instance of boost::none across all translation units. +
  • +

Boost diff --git a/doc/html/index.html b/doc/html/index.html index 9094ce06..0a5611fd 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -145,7 +145,7 @@

- +

Last revised: December 19, 2019 at 23:07:07 GMT

Last revised: December 19, 2019 at 23:27:43 GMT


From 683dbe24123d08519daf8ff492bbbed807ca6e17 Mon Sep 17 00:00:00 2001 From: Robert Leahy Date: Mon, 23 Dec 2019 11:22:25 -0500 Subject: [PATCH 008/163] .travis.yml: Specify Trusty for Trusty Addons Previously .travis.yml didn't specify dist: trusty when using addons which were specifically for Trusty. This led to the Clang 5 build failing when trying to install Clang 5. --- .travis.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.travis.yml b/.travis.yml index 2903ba19..b6055859 100644 --- a/.travis.yml +++ b/.travis.yml @@ -151,6 +151,7 @@ matrix: - llvm-toolchain-precise-3.9 - os: linux + dist: trusty compiler: clang++-4.0 env: TOOLSET=clang COMPILER=clang++-4.0 CXXSTD=03,11,14,1z addons: @@ -162,6 +163,7 @@ matrix: - llvm-toolchain-trusty-4.0 - os: linux + dist: trusty compiler: clang++-5.0 env: TOOLSET=clang COMPILER=clang++-5.0 CXXSTD=03,11,14,1z addons: From d07ae789013e4fa38622efff65113b6bbfb31a85 Mon Sep 17 00:00:00 2001 From: Robert Leahy Date: Sun, 22 Dec 2019 16:12:28 -0500 Subject: [PATCH 009/163] Tests Pass in GCC 4.4.7 Several tests either did not compile or failed upon running when using GCC 4.4.7. --- test/optional_test_constructible_from_other.cpp | 10 ++++++---- test/optional_test_path_assignment.cpp | 4 ++++ test/optional_test_ref_converting_ctor.cpp | 2 ++ 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/test/optional_test_constructible_from_other.cpp b/test/optional_test_constructible_from_other.cpp index e106b693..af856862 100644 --- a/test/optional_test_constructible_from_other.cpp +++ b/test/optional_test_constructible_from_other.cpp @@ -26,12 +26,14 @@ struct size_tag {}; template< typename T, typename U > struct is_constructible { - template< typename T1, typename U1 > - static yes_type check_helper(size_tag< sizeof(static_cast< T1 >(U1())) >*); - template< typename T1, typename U1 > + static U& get(); + + template< typename T1 > + static yes_type check_helper(size_tag< sizeof(static_cast< T1 >(get())) >*); + template< typename T1 > static no_type check_helper(...); - static const bool value = sizeof(check_helper< T, U >(0)) == sizeof(yes_type); + static const bool value = sizeof(check_helper< T >(0)) == sizeof(yes_type); }; template< typename T > diff --git a/test/optional_test_path_assignment.cpp b/test/optional_test_path_assignment.cpp index 6da67184..fa51fffd 100644 --- a/test/optional_test_path_assignment.cpp +++ b/test/optional_test_path_assignment.cpp @@ -15,6 +15,8 @@ #pragma hdrstop #endif +#ifndef BOOST_OPTIONAL_DETAIL_NO_IS_CONSTRUCTIBLE_TRAIT +#ifndef BOOST_OPTIONAL_DETAIL_NO_SFINAE_FRIENDLY_CONSTRUCTORS template struct void_t { @@ -42,6 +44,8 @@ struct Path template ::value_type> Path(T const&); }; +#endif +#endif int main() diff --git a/test/optional_test_ref_converting_ctor.cpp b/test/optional_test_ref_converting_ctor.cpp index 81f3c0f4..e31904b9 100644 --- a/test/optional_test_ref_converting_ctor.cpp +++ b/test/optional_test_ref_converting_ctor.cpp @@ -93,7 +93,9 @@ template void test_all_const_cases() { test_converting_ctor(); +#ifndef BOOST_OPTIONAL_CONFIG_NO_PROPER_CONVERT_FROM_CONST_INT test_converting_ctor(); +#endif test_converting_ctor_for_noconst_const(); } From 9581804efa0f658decab090a6914062ec826ec73 Mon Sep 17 00:00:00 2001 From: Robert Leahy Date: Sun, 22 Dec 2019 16:13:53 -0500 Subject: [PATCH 010/163] GCC 4.4.7: boost::in_place & Assignment Assigning a boost::in_place_factory to a boost::optional templated on a type which was trivially copyable failed to compile under GCC 4.4.7. --- .../optional/detail/optional_trivially_copyable_base.hpp | 2 +- test/optional_test_inplace_factory.cpp | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/include/boost/optional/detail/optional_trivially_copyable_base.hpp b/include/boost/optional/detail/optional_trivially_copyable_base.hpp index 5a37eacf..2cabf9a7 100644 --- a/include/boost/optional/detail/optional_trivially_copyable_base.hpp +++ b/include/boost/optional/detail/optional_trivially_copyable_base.hpp @@ -359,7 +359,7 @@ class tc_optional_base : public optional_tag template void construct ( Expr const& factory, in_place_factory_base const* ) { - boost_optional_detail::construct(factory, m_storage.address()); + boost_optional_detail::construct(factory, boost::addressof(m_storage)); m_initialized = true ; } diff --git a/test/optional_test_inplace_factory.cpp b/test/optional_test_inplace_factory.cpp index 1e852f0a..b8c31307 100644 --- a/test/optional_test_inplace_factory.cpp +++ b/test/optional_test_inplace_factory.cpp @@ -63,6 +63,9 @@ void test_ctor() BOOST_TEST(og1_ == og1); BOOST_TEST(og1_ != og2); BOOST_TEST(og1_ != og0); + + boost::optional o( boost::in_place(5) ); + BOOST_TEST(o && (*o == 5)); #endif } @@ -92,6 +95,10 @@ void test_assign() BOOST_TEST(og1_ == og1); BOOST_TEST(og1_ != og2); BOOST_TEST(og1_ != og0); + + boost::optional o; + o = boost::in_place(5); + BOOST_TEST(o && (*o == 5)); #endif #endif } From d4a4a5b6ad6c69c28666731beddc7d8aa480b334 Mon Sep 17 00:00:00 2001 From: Andrzej Krzemienski Date: Thu, 16 Jan 2020 22:31:23 +0100 Subject: [PATCH 011/163] fixed C++98-incompatible unit test --- test/optional_test_path_assignment.cpp | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/test/optional_test_path_assignment.cpp b/test/optional_test_path_assignment.cpp index 6da67184..f0c214a5 100644 --- a/test/optional_test_path_assignment.cpp +++ b/test/optional_test_path_assignment.cpp @@ -20,7 +20,7 @@ struct void_t { typedef void type; }; - + template struct trait @@ -29,7 +29,7 @@ struct trait // the following trait emulates properties std::iterator_traits template -struct trait >::type >::type> { @@ -39,13 +39,20 @@ struct trait= 201103 template ::value_type> Path(T const&); +#else + template + Path(T const&, BOOST_DEDUCED_TYPENAME trait::value_type* = 0); +#endif + }; int main() -{ +{ #ifndef BOOST_OPTIONAL_DETAIL_NO_IS_CONSTRUCTIBLE_TRAIT #ifndef BOOST_OPTIONAL_DETAIL_NO_SFINAE_FRIENDLY_CONSTRUCTORS From 78d6563bcee11020b1468dda3dab813cd0bfbf1e Mon Sep 17 00:00:00 2001 From: Edward Diener Date: Mon, 30 Mar 2020 14:04:35 -0400 Subject: [PATCH 012/163] Change __BORLANDC__ to BOOST_BORLANDC, which is defined in Boost config for the Embarcadero non-clang-based compilers. --- include/boost/optional/detail/old_optional_implementation.hpp | 4 ++-- include/boost/optional/detail/optional_config.hpp | 2 +- test/optional_ref_assign_test_defs.hpp | 2 +- test/optional_test.cpp | 2 +- test/optional_test_conversions_from_U.cpp | 2 +- test/optional_test_convert_from_T.cpp | 2 +- test/optional_test_emplace.cpp | 2 +- test/optional_test_empty_braces.cpp | 2 +- test/optional_test_equals_none.cpp | 2 +- test/optional_test_experimental_traits.cpp | 2 +- test/optional_test_flat_map.cpp | 2 +- test/optional_test_inplace_factory.cpp | 2 +- test/optional_test_inplace_fail.cpp | 2 +- test/optional_test_inplace_fail2.cpp | 2 +- test/optional_test_io.cpp | 2 +- test/optional_test_make_optional.cpp | 2 +- test/optional_test_map.cpp | 2 +- test/optional_test_maybe_uninitialized_warning.cpp | 2 +- test/optional_test_member_T.cpp | 2 +- test/optional_test_minimum_requirements.cpp | 2 +- test/optional_test_move.cpp | 2 +- test/optional_test_msvc_bug_workaround.cpp | 2 +- test/optional_test_noexcept_move.cpp | 2 +- test/optional_test_old_impl.cpp | 2 +- test/optional_test_path_assignment.cpp | 2 +- test/optional_test_ref_assign_const_int.cpp | 2 +- test/optional_test_ref_assign_mutable_int.cpp | 2 +- test/optional_test_ref_assign_portable_minimum.cpp | 2 +- test/optional_test_ref_convert_assign_const_int.cpp | 2 +- test/optional_test_ref_convert_assign_const_int_prevented.cpp | 2 +- test/optional_test_ref_convert_assign_mutable_int.cpp | 2 +- test/optional_test_ref_convert_assign_non_int.cpp | 2 +- test/optional_test_ref_converting_ctor.cpp | 2 +- test/optional_test_ref_move.cpp | 2 +- test/optional_test_ref_portable_minimum.cpp | 2 +- test/optional_test_ref_to_val.cpp | 2 +- test/optional_test_sfinae_friendly_ctor.cpp | 2 +- test/optional_test_static_properties.cpp | 2 +- test/optional_test_swap.cpp | 2 +- test/optional_test_tc_base.cpp | 2 +- test/optional_test_tie.cpp | 2 +- test/optional_test_value_access.cpp | 2 +- 42 files changed, 43 insertions(+), 43 deletions(-) diff --git a/include/boost/optional/detail/old_optional_implementation.hpp b/include/boost/optional/detail/old_optional_implementation.hpp index f8dc260d..3431e155 100644 --- a/include/boost/optional/detail/old_optional_implementation.hpp +++ b/include/boost/optional/detail/old_optional_implementation.hpp @@ -79,7 +79,7 @@ class optional_base : public optional_tag private : typedef -#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) +#if !BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x564)) BOOST_DEDUCED_TYPENAME #endif ::boost::detail::make_reference_content::type internal_type ; @@ -619,7 +619,7 @@ class optional_base : public optional_tag reference_const_type dereference( internal_type const* p, is_reference_tag ) const { return p->get() ; } reference_type dereference( internal_type* p, is_reference_tag ) { return p->get() ; } -#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x581)) +#if BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x581)) void destroy_impl ( is_not_reference_tag ) { get_ptr_impl()->internal_type::~internal_type() ; m_initialized = false ; } #else void destroy_impl ( is_not_reference_tag ) { get_ptr_impl()->~T() ; m_initialized = false ; } diff --git a/include/boost/optional/detail/optional_config.hpp b/include/boost/optional/detail/optional_config.hpp index bb7e12f9..73f25054 100644 --- a/include/boost/optional/detail/optional_config.hpp +++ b/include/boost/optional/detail/optional_config.hpp @@ -28,7 +28,7 @@ # define BOOST_OPTIONAL_NO_INPLACE_FACTORY_SUPPORT #endif -#if BOOST_WORKAROUND(__BORLANDC__, <= 0x551) +#if BOOST_WORKAROUND(BOOST_BORLANDC, <= 0x551) // BCB (5.5.1) cannot parse the nested template struct in an inplace factory. # define BOOST_OPTIONAL_NO_INPLACE_FACTORY_SUPPORT #endif diff --git a/test/optional_ref_assign_test_defs.hpp b/test/optional_ref_assign_test_defs.hpp index 1b2a1b03..7185ff4a 100644 --- a/test/optional_ref_assign_test_defs.hpp +++ b/test/optional_ref_assign_test_defs.hpp @@ -13,7 +13,7 @@ #include "boost/optional/optional.hpp" -#ifdef __BORLANDC__ +#ifdef BOOST_BORLANDC #pragma hdrstop #endif diff --git a/test/optional_test.cpp b/test/optional_test.cpp index 3354430b..a0fa5a6d 100644 --- a/test/optional_test.cpp +++ b/test/optional_test.cpp @@ -24,7 +24,7 @@ #include "boost/optional/optional.hpp" -#ifdef __BORLANDC__ +#ifdef BOOST_BORLANDC #pragma hdrstop #endif diff --git a/test/optional_test_conversions_from_U.cpp b/test/optional_test_conversions_from_U.cpp index 57d82157..309cb869 100644 --- a/test/optional_test_conversions_from_U.cpp +++ b/test/optional_test_conversions_from_U.cpp @@ -11,7 +11,7 @@ #include "boost/optional/optional.hpp" -#ifdef __BORLANDC__ +#ifdef BOOST_BORLANDC #pragma hdrstop #endif diff --git a/test/optional_test_convert_from_T.cpp b/test/optional_test_convert_from_T.cpp index 6d4c2ffd..bfa1a0aa 100644 --- a/test/optional_test_convert_from_T.cpp +++ b/test/optional_test_convert_from_T.cpp @@ -11,7 +11,7 @@ #include "boost/optional/optional.hpp" -#ifdef __BORLANDC__ +#ifdef BOOST_BORLANDC #pragma hdrstop #endif diff --git a/test/optional_test_emplace.cpp b/test/optional_test_emplace.cpp index 36972d38..d44e1d10 100644 --- a/test/optional_test_emplace.cpp +++ b/test/optional_test_emplace.cpp @@ -11,7 +11,7 @@ #include "boost/optional/optional.hpp" -#ifdef __BORLANDC__ +#ifdef BOOST_BORLANDC #pragma hdrstop #endif diff --git a/test/optional_test_empty_braces.cpp b/test/optional_test_empty_braces.cpp index 593a68f8..273d81d1 100644 --- a/test/optional_test_empty_braces.cpp +++ b/test/optional_test_empty_braces.cpp @@ -11,7 +11,7 @@ #include "boost/optional/optional.hpp" -#ifdef __BORLANDC__ +#ifdef BOOST_BORLANDC #pragma hdrstop #endif diff --git a/test/optional_test_equals_none.cpp b/test/optional_test_equals_none.cpp index 1c8c5d8c..1e3157b1 100644 --- a/test/optional_test_equals_none.cpp +++ b/test/optional_test_equals_none.cpp @@ -11,7 +11,7 @@ #include "boost/optional/optional.hpp" -#ifdef __BORLANDC__ +#ifdef BOOST_BORLANDC #pragma hdrstop #endif diff --git a/test/optional_test_experimental_traits.cpp b/test/optional_test_experimental_traits.cpp index 80930567..5088b4a2 100644 --- a/test/optional_test_experimental_traits.cpp +++ b/test/optional_test_experimental_traits.cpp @@ -11,7 +11,7 @@ #include "boost/optional/optional.hpp" -#ifdef __BORLANDC__ +#ifdef BOOST_BORLANDC #pragma hdrstop #endif diff --git a/test/optional_test_flat_map.cpp b/test/optional_test_flat_map.cpp index 409e1111..a6b2b131 100644 --- a/test/optional_test_flat_map.cpp +++ b/test/optional_test_flat_map.cpp @@ -11,7 +11,7 @@ #include "boost/optional/optional.hpp" -#ifdef __BORLANDC__ +#ifdef BOOST_BORLANDC #pragma hdrstop #endif diff --git a/test/optional_test_inplace_factory.cpp b/test/optional_test_inplace_factory.cpp index 1e852f0a..b1624f61 100644 --- a/test/optional_test_inplace_factory.cpp +++ b/test/optional_test_inplace_factory.cpp @@ -13,7 +13,7 @@ #include #include "boost/optional/optional.hpp" -#ifdef __BORLANDC__ +#ifdef BOOST_BORLANDC #pragma hdrstop #endif diff --git a/test/optional_test_inplace_fail.cpp b/test/optional_test_inplace_fail.cpp index bb7c26f6..38722baf 100644 --- a/test/optional_test_inplace_fail.cpp +++ b/test/optional_test_inplace_fail.cpp @@ -13,7 +13,7 @@ #include #include "boost/optional/optional.hpp" -#ifdef __BORLANDC__ +#ifdef BOOST_BORLANDC #pragma hdrstop #endif diff --git a/test/optional_test_inplace_fail2.cpp b/test/optional_test_inplace_fail2.cpp index e6a00044..ad4cedd3 100644 --- a/test/optional_test_inplace_fail2.cpp +++ b/test/optional_test_inplace_fail2.cpp @@ -13,7 +13,7 @@ #include #include "boost/optional/optional.hpp" -#ifdef __BORLANDC__ +#ifdef BOOST_BORLANDC #pragma hdrstop #endif diff --git a/test/optional_test_io.cpp b/test/optional_test_io.cpp index 9dab619b..14c2b26f 100644 --- a/test/optional_test_io.cpp +++ b/test/optional_test_io.cpp @@ -14,7 +14,7 @@ #include "boost/optional/optional.hpp" #include "boost/optional/optional_io.hpp" -#ifdef __BORLANDC__ +#ifdef BOOST_BORLANDC #pragma hdrstop #endif diff --git a/test/optional_test_make_optional.cpp b/test/optional_test_make_optional.cpp index 8230c198..be271bdd 100644 --- a/test/optional_test_make_optional.cpp +++ b/test/optional_test_make_optional.cpp @@ -11,7 +11,7 @@ #include "boost/optional/optional.hpp" -#ifdef __BORLANDC__ +#ifdef BOOST_BORLANDC #pragma hdrstop #endif diff --git a/test/optional_test_map.cpp b/test/optional_test_map.cpp index 288249c0..3c1617ba 100644 --- a/test/optional_test_map.cpp +++ b/test/optional_test_map.cpp @@ -11,7 +11,7 @@ #include "boost/optional/optional.hpp" -#ifdef __BORLANDC__ +#ifdef BOOST_BORLANDC #pragma hdrstop #endif diff --git a/test/optional_test_maybe_uninitialized_warning.cpp b/test/optional_test_maybe_uninitialized_warning.cpp index a9a07079..7660ece6 100644 --- a/test/optional_test_maybe_uninitialized_warning.cpp +++ b/test/optional_test_maybe_uninitialized_warning.cpp @@ -11,7 +11,7 @@ #include "boost/optional/optional.hpp" -#ifdef __BORLANDC__ +#ifdef BOOST_BORLANDC #pragma hdrstop #endif diff --git a/test/optional_test_member_T.cpp b/test/optional_test_member_T.cpp index 325838db..c31fedb5 100644 --- a/test/optional_test_member_T.cpp +++ b/test/optional_test_member_T.cpp @@ -11,7 +11,7 @@ #include "boost/optional/optional.hpp" -#ifdef __BORLANDC__ +#ifdef BOOST_BORLANDC #pragma hdrstop #endif diff --git a/test/optional_test_minimum_requirements.cpp b/test/optional_test_minimum_requirements.cpp index 77ef1fc2..1e22735d 100644 --- a/test/optional_test_minimum_requirements.cpp +++ b/test/optional_test_minimum_requirements.cpp @@ -11,7 +11,7 @@ #include "boost/optional/optional.hpp" -#ifdef __BORLANDC__ +#ifdef BOOST_BORLANDC #pragma hdrstop #endif diff --git a/test/optional_test_move.cpp b/test/optional_test_move.cpp index 1558c342..f27cd998 100644 --- a/test/optional_test_move.cpp +++ b/test/optional_test_move.cpp @@ -12,7 +12,7 @@ #include "boost/optional/optional.hpp" -#ifdef __BORLANDC__ +#ifdef BOOST_BORLANDC #pragma hdrstop #endif diff --git a/test/optional_test_msvc_bug_workaround.cpp b/test/optional_test_msvc_bug_workaround.cpp index 30f3b02f..126e8850 100644 --- a/test/optional_test_msvc_bug_workaround.cpp +++ b/test/optional_test_msvc_bug_workaround.cpp @@ -12,7 +12,7 @@ #define BOOST_OPTIONAL_CONFIG_NO_RVALUE_REFERENCES #include "boost/optional/optional.hpp" -#ifdef __BORLANDC__ +#ifdef BOOST_BORLANDC #pragma hdrstop #endif diff --git a/test/optional_test_noexcept_move.cpp b/test/optional_test_noexcept_move.cpp index 0675844e..2e270ed5 100644 --- a/test/optional_test_noexcept_move.cpp +++ b/test/optional_test_noexcept_move.cpp @@ -12,7 +12,7 @@ #include "boost/static_assert.hpp" #include "boost/optional/optional.hpp" -#ifdef __BORLANDC__ +#ifdef BOOST_BORLANDC #pragma hdrstop #endif diff --git a/test/optional_test_old_impl.cpp b/test/optional_test_old_impl.cpp index 994d989d..f3da56e1 100644 --- a/test/optional_test_old_impl.cpp +++ b/test/optional_test_old_impl.cpp @@ -12,7 +12,7 @@ #define BOOST_OPTIONAL_CONFIG_USE_OLD_IMPLEMENTATION_OF_OPTIONAL // does old implementation still work for basic usage? #include "boost/optional/optional.hpp" -#ifdef __BORLANDC__ +#ifdef BOOST_BORLANDC #pragma hdrstop #endif diff --git a/test/optional_test_path_assignment.cpp b/test/optional_test_path_assignment.cpp index f0c214a5..50cda0a1 100644 --- a/test/optional_test_path_assignment.cpp +++ b/test/optional_test_path_assignment.cpp @@ -11,7 +11,7 @@ #include "boost/optional/optional.hpp" -#ifdef __BORLANDC__ +#ifdef BOOST_BORLANDC #pragma hdrstop #endif diff --git a/test/optional_test_ref_assign_const_int.cpp b/test/optional_test_ref_assign_const_int.cpp index a14ef6da..6dddf9ec 100644 --- a/test/optional_test_ref_assign_const_int.cpp +++ b/test/optional_test_ref_assign_const_int.cpp @@ -11,7 +11,7 @@ #include "boost/optional/optional.hpp" -#ifdef __BORLANDC__ +#ifdef BOOST_BORLANDC #pragma hdrstop #endif diff --git a/test/optional_test_ref_assign_mutable_int.cpp b/test/optional_test_ref_assign_mutable_int.cpp index 1c674dac..5aa717e7 100644 --- a/test/optional_test_ref_assign_mutable_int.cpp +++ b/test/optional_test_ref_assign_mutable_int.cpp @@ -11,7 +11,7 @@ #include "boost/optional/optional.hpp" -#ifdef __BORLANDC__ +#ifdef BOOST_BORLANDC #pragma hdrstop #endif diff --git a/test/optional_test_ref_assign_portable_minimum.cpp b/test/optional_test_ref_assign_portable_minimum.cpp index 19085d3f..31599f30 100644 --- a/test/optional_test_ref_assign_portable_minimum.cpp +++ b/test/optional_test_ref_assign_portable_minimum.cpp @@ -11,7 +11,7 @@ #include "boost/optional/optional.hpp" -#ifdef __BORLANDC__ +#ifdef BOOST_BORLANDC #pragma hdrstop #endif diff --git a/test/optional_test_ref_convert_assign_const_int.cpp b/test/optional_test_ref_convert_assign_const_int.cpp index fb44aa1f..0d6585ff 100644 --- a/test/optional_test_ref_convert_assign_const_int.cpp +++ b/test/optional_test_ref_convert_assign_const_int.cpp @@ -11,7 +11,7 @@ #include "boost/optional/optional.hpp" -#ifdef __BORLANDC__ +#ifdef BOOST_BORLANDC #pragma hdrstop #endif diff --git a/test/optional_test_ref_convert_assign_const_int_prevented.cpp b/test/optional_test_ref_convert_assign_const_int_prevented.cpp index 7690d801..e692475f 100644 --- a/test/optional_test_ref_convert_assign_const_int_prevented.cpp +++ b/test/optional_test_ref_convert_assign_const_int_prevented.cpp @@ -11,7 +11,7 @@ #include "boost/optional/optional.hpp" -#ifdef __BORLANDC__ +#ifdef BOOST_BORLANDC #pragma hdrstop #endif diff --git a/test/optional_test_ref_convert_assign_mutable_int.cpp b/test/optional_test_ref_convert_assign_mutable_int.cpp index 56a6e80d..6003c433 100644 --- a/test/optional_test_ref_convert_assign_mutable_int.cpp +++ b/test/optional_test_ref_convert_assign_mutable_int.cpp @@ -11,7 +11,7 @@ #include "boost/optional/optional.hpp" -#ifdef __BORLANDC__ +#ifdef BOOST_BORLANDC #pragma hdrstop #endif diff --git a/test/optional_test_ref_convert_assign_non_int.cpp b/test/optional_test_ref_convert_assign_non_int.cpp index 80566b2b..93d3c3f2 100644 --- a/test/optional_test_ref_convert_assign_non_int.cpp +++ b/test/optional_test_ref_convert_assign_non_int.cpp @@ -11,7 +11,7 @@ #include "boost/optional/optional.hpp" -#ifdef __BORLANDC__ +#ifdef BOOST_BORLANDC #pragma hdrstop #endif diff --git a/test/optional_test_ref_converting_ctor.cpp b/test/optional_test_ref_converting_ctor.cpp index 81f3c0f4..6f6517a8 100644 --- a/test/optional_test_ref_converting_ctor.cpp +++ b/test/optional_test_ref_converting_ctor.cpp @@ -11,7 +11,7 @@ #include "boost/optional/optional.hpp" -#ifdef __BORLANDC__ +#ifdef BOOST_BORLANDC #pragma hdrstop #endif diff --git a/test/optional_test_ref_move.cpp b/test/optional_test_ref_move.cpp index 78b7bf27..bf0bcb84 100644 --- a/test/optional_test_ref_move.cpp +++ b/test/optional_test_ref_move.cpp @@ -11,7 +11,7 @@ #include "boost/optional/optional.hpp" -#ifdef __BORLANDC__ +#ifdef BOOST_BORLANDC #pragma hdrstop #endif diff --git a/test/optional_test_ref_portable_minimum.cpp b/test/optional_test_ref_portable_minimum.cpp index c929c3a2..ec5b827a 100644 --- a/test/optional_test_ref_portable_minimum.cpp +++ b/test/optional_test_ref_portable_minimum.cpp @@ -11,7 +11,7 @@ #include "boost/optional/optional.hpp" -#ifdef __BORLANDC__ +#ifdef BOOST_BORLANDC #pragma hdrstop #endif diff --git a/test/optional_test_ref_to_val.cpp b/test/optional_test_ref_to_val.cpp index 19e1675d..e93469f1 100644 --- a/test/optional_test_ref_to_val.cpp +++ b/test/optional_test_ref_to_val.cpp @@ -12,7 +12,7 @@ #include "boost/optional/optional.hpp" -#ifdef __BORLANDC__ +#ifdef BOOST_BORLANDC #pragma hdrstop #endif diff --git a/test/optional_test_sfinae_friendly_ctor.cpp b/test/optional_test_sfinae_friendly_ctor.cpp index 87539e1c..c13bb2bb 100644 --- a/test/optional_test_sfinae_friendly_ctor.cpp +++ b/test/optional_test_sfinae_friendly_ctor.cpp @@ -11,7 +11,7 @@ #include "boost/optional/optional.hpp" -#ifdef __BORLANDC__ +#ifdef BOOST_BORLANDC #pragma hdrstop #endif diff --git a/test/optional_test_static_properties.cpp b/test/optional_test_static_properties.cpp index c47bfa99..5dc10537 100644 --- a/test/optional_test_static_properties.cpp +++ b/test/optional_test_static_properties.cpp @@ -11,7 +11,7 @@ #include "boost/optional/optional.hpp" -#ifdef __BORLANDC__ +#ifdef BOOST_BORLANDC #pragma hdrstop #endif diff --git a/test/optional_test_swap.cpp b/test/optional_test_swap.cpp index 2feed252..2294c703 100644 --- a/test/optional_test_swap.cpp +++ b/test/optional_test_swap.cpp @@ -17,7 +17,7 @@ #include "boost/optional/optional.hpp" #include "boost/utility/in_place_factory.hpp" -#ifdef __BORLANDC__ +#ifdef BOOST_BORLANDC #pragma hdrstop #endif diff --git a/test/optional_test_tc_base.cpp b/test/optional_test_tc_base.cpp index a1d293ba..8c78dc0c 100644 --- a/test/optional_test_tc_base.cpp +++ b/test/optional_test_tc_base.cpp @@ -11,7 +11,7 @@ #include "boost/optional/optional.hpp" -#ifdef __BORLANDC__ +#ifdef BOOST_BORLANDC #pragma hdrstop #endif diff --git a/test/optional_test_tie.cpp b/test/optional_test_tie.cpp index b5c5818f..1ea34f44 100644 --- a/test/optional_test_tie.cpp +++ b/test/optional_test_tie.cpp @@ -12,7 +12,7 @@ #include "boost/optional/optional.hpp" -#ifdef __BORLANDC__ +#ifdef BOOST_BORLANDC #pragma hdrstop #endif diff --git a/test/optional_test_value_access.cpp b/test/optional_test_value_access.cpp index 47ec5cca..c11cb423 100644 --- a/test/optional_test_value_access.cpp +++ b/test/optional_test_value_access.cpp @@ -11,7 +11,7 @@ #include "boost/optional/optional.hpp" -#ifdef __BORLANDC__ +#ifdef BOOST_BORLANDC #pragma hdrstop #endif From 19b94c01f39238dced0d8ed8f12a8179f3c2b0c6 Mon Sep 17 00:00:00 2001 From: Andrzej Krzemienski Date: Thu, 9 Apr 2020 01:12:22 +0200 Subject: [PATCH 013/163] added release notes --- doc/91_relnotes.qbk | 2 ++ doc/html/boost_optional/relnotes.html | 8 ++++++++ doc/html/index.html | 2 +- 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/doc/91_relnotes.qbk b/doc/91_relnotes.qbk index b5be701d..e4a5eaa2 100644 --- a/doc/91_relnotes.qbk +++ b/doc/91_relnotes.qbk @@ -15,6 +15,8 @@ * Fixed [@https://github.com/boostorg/optional/issues/78 issue #78]. * `boost::none` is now declared as an inline variable (on compilers taht support it): there is only one instance of `boost::none` across all translation units. +* Fixed a number of compilation errors in GCC 4.4.7 in `optional` for trivial `T`s. Thanks to Robert Leahy for the fix. For details see [@https://github.com/boostorg/optional/pull/80 pr #78]. +* Now surpressing warning `-Wweak-vtables`. [heading Boost Release 1.69] diff --git a/doc/html/boost_optional/relnotes.html b/doc/html/boost_optional/relnotes.html index 333178d1..6e93d04e 100644 --- a/doc/html/boost_optional/relnotes.html +++ b/doc/html/boost_optional/relnotes.html @@ -40,6 +40,14 @@

boost::none is now declared as an inline variable (on compilers taht support it): there is only one instance of boost::none across all translation units. +
  • + Fixed a number of compilation errors in GCC 4.4.7 in optional<T> for trivial Ts. + Thanks to Robert Leahy for the fix. For details see pr + #78. +
  • +
  • + Now surpressing warning -Wweak-vtables. +
  • diff --git a/doc/html/index.html b/doc/html/index.html index 0a5611fd..2862ec6a 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -145,7 +145,7 @@

    - +

    Last revised: December 19, 2019 at 23:27:43 GMT

    Last revised: April 08, 2020 at 23:09:18 GMT


    From db5e156ebcd5483324f9ee2f0b6746e1698aa5f9 Mon Sep 17 00:00:00 2001 From: Moritz Baumann Date: Tue, 11 Aug 2020 10:36:12 +0200 Subject: [PATCH 014/163] Add explicit include to make tests compile with MSVC --- test/optional_test_emplace.cpp | 1 + test/optional_test_minimum_requirements.cpp | 1 + 2 files changed, 2 insertions(+) diff --git a/test/optional_test_emplace.cpp b/test/optional_test_emplace.cpp index d44e1d10..5182d97f 100644 --- a/test/optional_test_emplace.cpp +++ b/test/optional_test_emplace.cpp @@ -15,6 +15,7 @@ #pragma hdrstop #endif +#include #include "boost/core/lightweight_test.hpp" #include "boost/none.hpp" diff --git a/test/optional_test_minimum_requirements.cpp b/test/optional_test_minimum_requirements.cpp index 1e22735d..11ff247e 100644 --- a/test/optional_test_minimum_requirements.cpp +++ b/test/optional_test_minimum_requirements.cpp @@ -15,6 +15,7 @@ #pragma hdrstop #endif +#include #include "boost/core/lightweight_test.hpp" #include "boost/none.hpp" From 9de55e6ffd97872a89d44fa06014f838b1615e73 Mon Sep 17 00:00:00 2001 From: Giovanni Mascellani Date: Sun, 17 Nov 2019 17:05:37 +0100 Subject: [PATCH 015/163] Fix funny mistake in copyright headers. --- test/optional_test_deleted_default_ctor.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/optional_test_deleted_default_ctor.cpp b/test/optional_test_deleted_default_ctor.cpp index 790753c4..1fe2bdb6 100644 --- a/test/optional_test_deleted_default_ctor.cpp +++ b/test/optional_test_deleted_default_ctor.cpp @@ -1,5 +1,5 @@ // Copyright 2017 Peter Dimov -// Copyright 2017 Vinnie NotDefaultConstructible +// Copyright 2017 Vinnie Falco // Copyright 2018 Andrzej Krzemienski // // Distributed under the Boost Software License, Version 1.0. From 7e0b8145b51221bcae49f83d0ab53722c9056044 Mon Sep 17 00:00:00 2001 From: Andrzej Krzemienski Date: Sat, 24 Oct 2020 17:17:10 +0200 Subject: [PATCH 016/163] boost::none is constexpr-declared --- doc/21_ref_none.qbk | 4 +- doc/91_relnotes.qbk | 12 ++++-- doc/html/boost_optional/acknowledgements.html | 4 +- .../dependencies_and_portability.html | 4 +- ...emplace_operations_in_older_compilers.html | 4 +- .../optional_reference_binding.html | 4 +- doc/html/boost_optional/quick_start.html | 4 +- ...sing_unnecessary_default_construction.html | 4 +- .../optional_automatic_variables.html | 4 +- .../quick_start/optional_data_members.html | 4 +- .../quick_start/storage_in_containers.html | 4 +- ...ost_optional_bad_optional_access_hpp_.html | 4 +- .../detailed_semantics.html | 4 +- .../header__boost_optional_hpp_.html | 4 +- ...der__boost_optional_optional_fwd_hpp_.html | 4 +- .../detailed_semantics___free_functions.html | 4 +- ...ailed_semantics___optional_references.html | 4 +- .../detailed_semantics___optional_values.html | 4 +- .../header_optional_in_place_init.html | 4 +- .../header_optional_optional_refs.html | 4 +- .../header_optional_optional_values.html | 4 +- .../boost_optional/reference/io_header.html | 4 +- .../reference/io_header/io_semantics.html | 14 +++---- doc/html/boost_optional/relnotes.html | 42 ++++++++++++------- .../tutorial/design_overview.html | 12 +++--- .../design_overview/the_interface.html | 8 ++-- .../design_overview/the_semantics.html | 4 +- .../tutorial/exception_safety_guarantees.html | 4 +- doc/html/boost_optional/tutorial/gotchas.html | 6 +-- ...e_positive_with__wmaybe_uninitialized.html | 4 +- .../gotchas/mixed_relational_comparisons.html | 4 +- .../gotchas/moved_from__optional_.html | 4 +- .../tutorial/in_place_factories.html | 4 +- .../boost_optional/tutorial/io_operators.html | 4 +- .../tutorial/optional_references.html | 4 +- ...for_assignment_of_optional_references.html | 4 +- .../tutorial/performance_considerations.html | 4 +- .../tutorial/relational_operators.html | 4 +- .../tutorial/type_requirements.html | 4 +- .../tutorial/when_to_use_optional.html | 4 +- doc/html/index.html | 8 ++-- doc/html/optional/reference.html | 6 +-- .../header__boost_optional_optional_hpp_.html | 4 +- doc/html/optional/tutorial.html | 4 +- include/boost/none.hpp | 7 ++-- 45 files changed, 139 insertions(+), 120 deletions(-) diff --git a/doc/21_ref_none.qbk b/doc/21_ref_none.qbk index 011eff7c..65eaa81f 100644 --- a/doc/21_ref_none.qbk +++ b/doc/21_ref_none.qbk @@ -17,8 +17,8 @@ namespace boost { class none_t {/* see below */}; -const none_t none (/* see below */); - +inline constexpr none_t none (/* see below */); + } // namespace boost ``` diff --git a/doc/91_relnotes.qbk b/doc/91_relnotes.qbk index e4a5eaa2..79f881fc 100644 --- a/doc/91_relnotes.qbk +++ b/doc/91_relnotes.qbk @@ -11,18 +11,24 @@ [section:relnotes Release Notes] +[heading Boost Release 1.75] + +* `boost::none` is `constexpr`-declared. + +* Fixed [@https://github.com/boostorg/optional/issues/78 issue #78]. + [heading Boost Release 1.73] * Fixed [@https://github.com/boostorg/optional/issues/78 issue #78]. -* `boost::none` is now declared as an inline variable (on compilers taht support it): there is only one instance of `boost::none` across all translation units. +* `boost::none` is now declared as an inline variable (on compilers taht support it): there is only one instance of `boost::none` across all translation units. * Fixed a number of compilation errors in GCC 4.4.7 in `optional` for trivial `T`s. Thanks to Robert Leahy for the fix. For details see [@https://github.com/boostorg/optional/pull/80 pr #78]. -* Now surpressing warning `-Wweak-vtables`. +* Now surpressing warning `-Wweak-vtables`. [heading Boost Release 1.69] * Remove deprecation mark from `reset()` method (without arguments). * Fixed [@https://github.com/boostorg/optional/issues/59 issue #59]. -* Fixed bug with initialization of certain wrapper types in clang with -std=c++03. See [@https://github.com/boostorg/optional/pull/64 pr #64]. +* Fixed bug with initialization of certain wrapper types in clang with -std=c++03. See [@https://github.com/boostorg/optional/pull/64 pr #64]. [heading Boost Release 1.68] diff --git a/doc/html/boost_optional/acknowledgements.html b/doc/html/boost_optional/acknowledgements.html index c6f9f2f7..eff2ed8d 100644 --- a/doc/html/boost_optional/acknowledgements.html +++ b/doc/html/boost_optional/acknowledgements.html @@ -1,6 +1,6 @@ - + Codestin Search App @@ -116,7 +116,7 @@

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -