Andrzej Krzemienski
2e583aaf30
Fixed code, updated docs, added emplace()
2014-06-03 17:36:18 +02:00
Andrzej Krzemienski
22baf1dd09
Fixed bug in test on compiler with no rvalue refs
2014-05-24 13:44:07 +02:00
Andrzej Krzemienski
3984c9f9a1
Added function value_or()
2014-05-23 16:38:42 +02:00
Andrzej Krzemienski
75271b73a8
Member fun value() that throws on uninitialized
2014-05-22 23:32:49 +02:00
Andrey Semashev
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
Andrzej Krzemienski
e9f5ed41be
binding to rvalues can be reenabled with a macro
2014-05-13 14:11:17 +02:00
Andrzej Krzemienski
1c9775a9d9
docs: described optional reference binding issues
2014-05-08 21:50:41 +02:00
Andrzej Krzemienski
f94846ccc5
Improved documentation. Added some noexcept.
2014-05-07 17:07:12 +02:00
Andrzej Krzemienski
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
Andrzej Krzemienski
86e759fb89
optional<const T&>::rval_reference_type is now T&& (not const T&)
2014-05-02 18:41:23 +02:00
Andrzej Krzemienski
897fdad11b
Changed incorrect types in static assertions guarding against binding temporaries to optional refs
2014-05-02 15:41:43 +02:00
Andrzej Krzemienski
c51f3e810b
The (in)equality comparison with boost::none does not require that T be EqualityComparable
2014-04-29 22:59:06 +02:00
Andrzej Krzemienski
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
Andrzej Krzemienski
c9f1422560
Updated documentation; fixed optional::swap
2014-04-29 01:06:14 +02:00
Andrzej Krzemienski
01b22a0ff0
Added tests for move conversion between optional<T> and optional<U>
2014-04-28 16:51:49 +02:00
Andrzej Krzemienski
655a9e3035
Added README.md file
2014-04-28 16:01:55 +02:00
Andrzej Krzemienski
3816143646
Disabled assignment and construction from rvalue references in optional<const T&>
2014-04-28 15:48:55 +02:00
Andrzej Krzemienski
0e61751fab
Added more tests for move operations, fixed bugs, disabled optional<T&&>.
2014-04-26 23:24:21 +02:00
Marcel Raad
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
Andrzej Krzemienski
5c69bac12f
Fixed unit tests (still need to add more unit tests for move semantics)
2014-04-26 00:22:39 +02:00
Andrzej Krzemienski
a26d11be87
Partially added move semantics (tests are still failing)
2014-04-22 22:36:19 +02:00
Andrzej Krzemienski
587ef8e988
Added 'raw' move semantics; no unit-tests
2014-04-14 23:44:34 +02:00
Andrzej Krzemienski
b4738ac07e
Updated HTML documentation format using the super-project css and docbook-xsl-1.78.1
2014-04-12 20:54:37 +02:00
Andrzej Krzemienski
09f2c0f60e
Merge branch 'use-super-project-css' of https://github.com/danieljames/optional into develop
2014-04-12 17:22:33 +02:00
Daniel James
a3b478b620
Use super-project's css file.
2014-04-12 09:10:24 +01:00
Andrzej Krzemienski
50d09367ca
Rebuilt the HTML documentation using a newer xsltproc
2014-04-11 23:36:24 +02:00
Stephen Kelly
3cf0363668
Optional: Remove obsolete GCC version checks.
...
[SVN r86068]
2013-09-30 15:58:48 +00:00
Stephen Kelly
c9ead30713
Remove use of obsolete BOOST_NO_TEMPLATED_STREAMS macro.
...
It was only defined for no-longer-supported-gcc.
[SVN r86062]
2013-09-30 15:56:52 +00:00
Stephen Kelly
931cf3941b
Optional: Remove obsolete MSVC version checks.
...
[SVN r86019]
2013-09-30 00:17:11 +00:00
Steven Watanabe
16657e5e1d
Try to fix VC8.
...
[SVN r83445]
2013-03-15 18:24:41 +00:00
Steven Watanabe
cb09282472
Update optional documentation.
...
[SVN r82931]
2013-02-16 19:42:42 +00:00
Steven Watanabe
655eb739fa
Add a forward declaration of the ostream operator for optional. Fixes #2103 .
...
[SVN r82930]
2013-02-16 19:32:20 +00:00
Steven Watanabe
e8853f23cd
Use __may_alias__ instead of may_alias. Fixes #6410 .
...
[SVN r82919]
2013-02-16 02:48:46 +00:00
Steven Watanabe
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
Steven Watanabe
e40c2654d9
Replace deprecated function reset in examples. Fixes #765 .
...
[SVN r82912]
2013-02-15 18:50:29 +00:00
Steven Watanabe
ab0ffa1c01
Correct definition of operator unspecified-bool-type. Make reference for is_initialized point to this operator. Fixes #6364 .
...
[SVN r82911]
2013-02-15 18:44:59 +00:00
Steven Watanabe
a5c2ab2125
Some doc typos. Fixes #7602 .
...
[SVN r82910]
2013-02-15 18:28:38 +00:00
Steven Watanabe
181e56a70a
Remove extra :'s. Fixes #7973 .
...
[SVN r82909]
2013-02-15 18:21:04 +00:00
Vicente J. Botet Escriba
f6db3d6bc3
Optional: fix some unused parameter warnings
...
[SVN r81031]
2012-10-21 06:30:04 +00:00
Steven Watanabe
f921762bf6
Add link to header from synopsis. Fixes #4049 . Add links to in place factory assignment operators.
...
[SVN r71092]
2011-04-07 21:05:15 +00:00
Steven Watanabe
f9c46f9a86
Fix some more typos and grammatical errors.
...
[SVN r71089]
2011-04-07 19:56:55 +00:00
Steven Watanabe
c1d2381a9b
Copy-editing optional documentation. Fixes #5382 and a few other issues I noticed while I was at it.
...
[SVN r71052]
2011-04-06 21:56:23 +00:00
Steven Watanabe
960631e201
Add assignment operators taking an InPlaceFactory to the Detailed Semantics section. Fixes #5378 .
...
[SVN r71048]
2011-04-06 20:54:18 +00:00
Andrey Semashev
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
Andrey Semashev
646488e0e2
operator>> behavior changed slightly so that the stream is not accessed when unrecognized character sequence is detected.
...
[SVN r67184]
2010-12-12 11:35:19 +00:00
Andrey Semashev
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
Ralf W. Grosse-Kunstleve
d39627c5b6
boost/optional/optional.hpp: avoid gcc 3.2 warnings
...
[SVN r67109]
2010-12-08 17:53:29 +00:00
Andrey Semashev
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
Sebastian Redl
ab01dfff7e
Fully qualify ios flags. Fixes compilation of PropertyTree, bug 4459.
...
[SVN r64342]
2010-07-25 22:21:45 +00:00
Fernando Cacciola
8608ad1497
Fixed behaviour in case of invalid input
...
[SVN r64208]
2010-07-20 19:21:44 +00:00