ae15fc54b2
refactor: add back unified init syntax conditional
2024-09-19 22:14:24 +01:00
dc7909db4a
refactor: implementation tidy up
...
C++11 is now the library minimum requirement, so clean up the interface by
removing conditional compilation intended to support C++03 alongside C++11.
2024-09-18 22:08:58 +01:00
cbfb66379b
Tags in_place_init and in_place_init_if become inline constexpr
2024-09-13 16:22:40 +02:00
36c33f2e67
Fix ununsed parameter warning
...
The function returns false w/o using any parameter leading to a warning. Remove the name from the parameter
2024-08-16 10:37:12 +02:00
411ead088d
Different implementation of map and flat_map
2024-08-15 21:41:17 +02:00
e360de3da5
Header cleanup
2024-08-15 11:48:28 +02:00
346dc03746
Reimplement trivially semiregular trait
2024-08-15 11:42:42 +02:00
27309c40ad
Drop unused traits
2024-08-15 11:13:44 +02:00
6ec468aff6
Drop explicit bool idiom
2024-08-15 10:57:03 +02:00
794e03af30
Drop dependency on Boost.Predef
2024-08-15 10:43:43 +02:00
3a8556186e
Drop dependency on Boost.Utility
2024-08-15 08:49:21 +02:00
82d08adf11
Drop support for C++03
2024-08-15 01:48:31 +02:00
b270cf019b
revert launder fix
...
A better fix is now in boost::launder.
2024-01-04 08:29:06 +01:00
790d4f729f
cleaner workaround for VS2017 launder bug
2024-01-04 02:03:33 +01:00
8375df7693
Fix MSVC 14.1 compiler crash
2024-01-03 22:20:28 +01:00
01e80d2b87
drop dependency on boost.detail
2024-01-03 21:41:26 +01:00
e31cf6f2a8
Fix some -Wmaybe-uninitialized warnings
2023-12-29 01:40:01 +01:00
def2db7c45
Switch to boost::core::invoke_swap.
...
boost::swap is deprecated and will be removed. Use boost::core::invoke_swap
as a replacement.
2023-11-09 00:38:43 +01:00
246f1663e1
spelling: trivially
...
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
2023-07-11 00:39:13 +02:00
653ebefbac
spelling: support
...
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
2023-07-11 00:39:13 +02:00
7e395f4520
spelling: screwed
...
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
2023-07-11 00:39:13 +02:00
cdc2bd8482
spelling: references
...
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
2023-07-11 00:39:13 +02:00
8ffb7e3f57
spelling: pointees
...
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
2023-07-11 00:39:13 +02:00
deda20af89
spelling: overloads
...
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
2023-07-11 00:39:13 +02:00
168552e021
spelling: msvc
...
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
2023-07-11 00:39:13 +02:00
56156dcc87
spelling: functions
...
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
2023-07-11 00:39:13 +02:00
9944804c5c
spelling: doesn't
...
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
2023-07-11 00:39:13 +02:00
cc416b8989
spelling: deprecated
...
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
2023-07-11 00:39:13 +02:00
c4291fa461
spelling: compiler
...
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
2023-07-11 00:39:13 +02:00
9c44e402f6
spelling: because
...
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
2023-07-11 00:39:13 +02:00
5ab4701192
spelling: assignment
...
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com >
2023-07-11 00:39:13 +02:00
85ebe0a2ed
fix hash spec for C++17
2022-06-19 23:57:15 +02:00
52abe4842e
Add std::hash specialization
2022-05-21 01:13:10 +02:00
c300a8c517
Merge pull request #100 from boostorg/pr/aligned-storage-fix
...
Change aligned_storage::dummy::data to unsigned char[]
2022-03-01 16:17:09 -03:00
4f713acdf8
Merge pull request #101 from boostorg/pr/unqualified-value-type
...
Construct the unqualified value_type with placement new
2022-03-01 16:07:44 -03:00
1e6f838a90
added missing license info in one file
2022-02-26 14:15:28 +01:00
51b7053abf
Construct the unqualified value_type with placement new
2022-02-18 22:03:05 +02:00
ec96129e9e
Change aligned_storage::dummy::data to unsigned char[]
2022-02-18 21:55:13 +02:00
7dd512a019
Fix issue #98
2021-11-20 02:00:30 +01:00
d0ab8004c0
Add support for BOOST_NO_IOSTREAM
2021-05-19 23:29:10 +02:00
ead529af54
Address unreachable code warning
...
In MSVC optional<T&>::value() emits a warning C4702: unreachable code because throw_exception is marked BOOST_RETURN.
Otherwise the ternary code might have been preferable.
This change addresses the warning while preserving the functionality. It replicates optional<T>::value() for consistency.
2020-12-19 00:00:18 +01:00
d5b7791710
Merge branch 'develop' of https://github.com/eldiener/optional into cppbuilder
2020-04-17 05:55:24 -04:00
9b1f8033eb
Merge branch 'develop' of https://github.com/RobertLeahy/optional-2 into RobertLeahy-develop
2020-04-06 00:42:05 +02:00
ed9edd54e4
Merge branch 'suppress-weak-vtables-warning' of https://github.com/Kojoley/optional into Kojoley-suppress-weak-vtables-warning
2020-04-05 23:30:40 +02:00
78d6563bce
Change __BORLANDC__ to BOOST_BORLANDC, which is defined in Boost config for the Embarcadero non-clang-based compilers.
2020-03-30 14:04:35 -04:00
9581804efa
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.
2019-12-23 11:24:39 -05:00
4fbb7582e1
Don't instantiate is_convertible_to_T_or_factory when is_optional_related
...
Fixes #78 .
2019-12-18 17:51:51 -08:00
ee575b34c5
Fix unused argument warning
...
boost/optional/optional.hpp:970:5: warning: unused parameter 'rhs' [-Wunused-parameter]
2019-02-28 00:13:00 +03:00
24d29e5865
Fix for clang, when adapted type is convertible from other types.
...
The problem was with copy/move constructors of boost::optional<T>, which invoked
optional_base<T> constructors with a single argument. Since optional_base has
copy/move constructors along with initializing constructors taking a single
argument, the latter may be considered by the compiler for viability. While
doing so, the compiler may instantiate the template constructor of T with
an argument of optional_base<T>, which in turn may fail if the constructor
attempts to inspect the type of its argument (e.g. to constrain the set of
acceptable types). Specifically, this happens with clang in C++03 mode,
when boost::multiprecision::number is wrapped in boost::optional and
a copy constructor of boost::optional is invoked.
This commit fixes the problem by destinguishing copy/move constructors of
optional_base from initializing constructors with an additional tag argument.
2018-11-04 17:35:10 +03:00
bebc606a4c
Remove deprecation mark from reset()
...
The `std::optional` has `reset()` [optional.mod] and it is not deprecated.
2018-10-23 22:34:10 +02:00