Commit Graph

173 Commits

Author SHA1 Message Date
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
Fernando Cacciola c93e5a88c7 Fixed extraction operator for empty optionals
[SVN r64206]
2010-07-20 18:20:40 +00:00
Fernando Cacciola 425d141cbf Test for fixed extraction operator for empty optinals
[SVN r64205]
2010-07-20 18:20:01 +00:00
Daniel James 57c07c7a57 Fix doc build for 2 libraries which use own css.
I changed the default to use doc/src/boostbook.css. So add an explicit
location to libraries which use their own stylesheet.

[SVN r64170]
2010-07-19 20:17:58 +00:00