3dd614fd91
Reorganized docs. Minor code fix wrt opt refs
2014-06-04 18:13:06 +02:00
f99618f09b
Added ref-qualifiers to some accessors
2014-06-03 23:07:19 +02:00
2e583aaf30
Fixed code, updated docs, added emplace()
2014-06-03 17:36:18 +02:00
3984c9f9a1
Added function value_or()
2014-05-23 16:38:42 +02:00
75271b73a8
Member fun value() that throws on uninitialized
2014-05-22 23:32:49 +02:00
5e59e10f93
Fix warnings with gcc 4.4 in C++11 mode
...
GCC 4.4 has support for an early draft of rvalue references. When compiling the conforming code it produces warnings such as '../boost/optional/optional.hpp:152: warning: returning reference to temporary'. In order to fix this regression use a special implementation of move(), similar to std::move() on this compiler.
2014-05-22 10:15:11 +04:00
e9f5ed41be
binding to rvalues can be reenabled with a macro
2014-05-13 14:11:17 +02:00
f94846ccc5
Improved documentation. Added some noexcept.
2014-05-07 17:07:12 +02:00
6a790e0c97
Added a test that tests the compiler if references are bound correctly. Also added the second copyright notice.
2014-05-05 19:08:11 +02:00
86e759fb89
optional<const T&>::rval_reference_type is now T&& (not const T&)
2014-05-02 18:41:23 +02:00
897fdad11b
Changed incorrect types in static assertions guarding against binding temporaries to optional refs
2014-05-02 15:41:43 +02:00
c51f3e810b
The (in)equality comparison with boost::none does not require that T be EqualityComparable
2014-04-29 22:59:06 +02:00
d59f47156f
Merge branch 'feature/move-semantics' into develop
...
Conflicts:
doc/html/index.html
include/boost/optional/optional.hpp
test/Jamfile.v2
2014-04-29 01:24:10 +02:00
c9f1422560
Updated documentation; fixed optional::swap
2014-04-29 01:06:14 +02:00
01b22a0ff0
Added tests for move conversion between optional<T> and optional<U>
2014-04-28 16:51:49 +02:00
3816143646
Disabled assignment and construction from rvalue references in optional<const T&>
2014-04-28 15:48:55 +02:00
0e61751fab
Added more tests for move operations, fixed bugs, disabled optional<T&&>.
2014-04-26 23:24:21 +02:00
c7cf80e5df
Use BOOST_EXPLICIT_OPERATOR_BOOL for optional
...
I often have the problem that when I change a std::wstring to boost::optional<std::wstring> and the variable is used as a parameter with Boost.Format, the result silently changes from the string contents to "1".
This change prevents implicit conversion to bool if the compiler supports explicit conversion operators.
2014-04-26 15:26:37 +02:00
5c69bac12f
Fixed unit tests (still need to add more unit tests for move semantics)
2014-04-26 00:22:39 +02:00
a26d11be87
Partially added move semantics (tests are still failing)
2014-04-22 22:36:19 +02:00
587ef8e988
Added 'raw' move semantics; no unit-tests
2014-04-14 23:44:34 +02:00
3cf0363668
Optional: Remove obsolete GCC version checks.
...
[SVN r86068]
2013-09-30 15:58:48 +00:00
931cf3941b
Optional: Remove obsolete MSVC version checks.
...
[SVN r86019]
2013-09-30 00:17:11 +00:00
655eb739fa
Add a forward declaration of the ostream operator for optional. Fixes #2103 .
...
[SVN r82930]
2013-02-16 19:32:20 +00:00
e8853f23cd
Use __may_alias__ instead of may_alias. Fixes #6410 .
...
[SVN r82919]
2013-02-16 02:48:46 +00:00
ff48f2b3a0
Work around msvc bug when explicitly destroying a class with a virtual base. Fixes #5940 .
...
[SVN r82915]
2013-02-15 19:22:34 +00:00
f6db3d6bc3
Optional: fix some unused parameter warnings
...
[SVN r81031]
2012-10-21 06:30:04 +00:00
e9989b260e
Refs #4987 . Added forward declaration of namespace-scope swap for boost::optional, this should fix GCC compilation errors. Also swap implementation now uses Boost.Utility.Swap to make use of the workarounds for some broken compilers. If it breaks for your compiler, let me know in the mentioned ticket.
...
[SVN r67288]
2010-12-17 21:12:56 +00:00
64d8062621
The may_alias workaround is also disabled for GCC prior to 3.2. Also added description for this workaround.
...
[SVN r67112]
2010-12-08 18:32:36 +00:00
d39627c5b6
boost/optional/optional.hpp: avoid gcc 3.2 warnings
...
[SVN r67109]
2010-12-08 17:53:29 +00:00
f88c8ae423
Refs #3395 . Optional construction and assignment now works correctly for types with overridden operator&. Also silenced some GCC warnings about broken strict aliasing rules.
...
[SVN r67020]
2010-12-05 14:43:18 +00:00
97e314f03a
Fix some header links.
...
[SVN r64006]
2010-07-14 08:15:33 +00:00
16f0a0aaaf
Expose the "types" typedef of boost::optional_detail::operator_base as
...
public, rather than protected, since Spirit pokes at this typedef.
[SVN r61832]
2010-05-06 21:44:18 +00:00
74674531c8
Replaced "using std::swap" by "using boost::swap" within optional::swap member function, hoping to fix GCC test failures, as mentioned at http://article.gmane.org/gmane.comp.lib.boost.devel/174350 "Re: [optional] problems with swap()"
...
[SVN r44826]
2008-04-27 21:09:50 +00:00
66c366d18a
Improved swap for optional<T>, co-written by Thorsten and Fernando: added support for tweaking whether swap should use T's default constructor. Added swap member function. Discussed at Boost developers' mailing list, "[optional] problems with swap()", http://lists.boost.org/Archives/boost/2008/04/135882.php
...
[SVN r44766]
2008-04-25 16:50:32 +00:00
95c864e119
Cast to base added to avoid a call to the convertir constructor/assignment (see Tickes 1419 and 1420)
...
[SVN r41381]
2007-11-25 20:26:14 +00:00
3499d477dc
Merged changests from RC_1_34_0 - base rev 33417
...
[SVN r40705]
2007-11-02 22:56:23 +00:00
734e5b5283
Some additional functions added to optional (being new there won't be regressions)
...
[SVN r34411]
2006-06-26 18:01:38 +00:00
a77dff3e11
workaround for Borland
...
[SVN r34288]
2006-06-12 19:02:41 +00:00
9516a779fe
Disambiguated certain constructs.
...
[SVN r34227]
2006-06-08 01:47:33 +00:00
0e10374194
AlisdairM BCB2006 patch reapplied to HEAD
...
[SVN r32820]
2006-02-10 20:52:25 +00:00
864adf2e87
Now commited in HEAD
...
[SVN r32748]
2006-02-08 19:29:54 +00:00
f89c517fa8
Large patch from Ulrich Eckhardt to fix support for EVC++ 4.
...
[SVN r30670]
2005-08-25 16:27:28 +00:00
dda39772ad
Fix doubled EOLs.
...
[SVN r28438]
2005-04-23 16:35:57 +00:00
ed504fae7b
Converted to Unix format
...
[SVN r28432]
2005-04-23 02:59:05 +00:00
9a0013d668
Optional's Assignment fixed
...
[SVN r28412]
2005-04-22 13:28:34 +00:00
07a80c1b9b
In-place factories moved from /detail to /utility
...
New value_initalized tests added
[SVN r25313]
2004-09-21 14:54:32 +00:00
3db413cc30
Pseudo-destructor fixed (fix adjusted for BCB6)
...
[SVN r23632]
2004-07-16 14:42:25 +00:00
9aa4943b7a
Pseudo-destructor fixed
...
[SVN r23393]
2004-07-07 15:13:25 +00:00