diff --git a/doc/13_relational_operators.qbk b/doc/13_relational_operators.qbk index fda7700..3336bec 100644 --- a/doc/13_relational_operators.qbk +++ b/doc/13_relational_operators.qbk @@ -13,7 +13,7 @@ Type `optional` is __STD_EQUALITY_COMPARABLE__ whenever `T` is __STD_EQUALITY assert(oN == oN); assert(o0 == o0); -The converting constructor from `T` as well as from `boost::none` implies the existence and semantics of the mixed comparison between `T` and `optional` as well as between `none_t` and `optionl`: +The converting constructor from `T` as well as from `boost::none` implies the existence and semantics of the mixed comparison between `T` and `optional` as well as between `none_t` and `optional`: assert(oN != 0); assert(o1 != boost::none); diff --git a/doc/1A_on_performance.qbk b/doc/1A_on_performance.qbk index f254f09..2c41361 100644 --- a/doc/1A_on_performance.qbk +++ b/doc/1A_on_performance.qbk @@ -19,7 +19,7 @@ Lifetime of the `T` inside `_storage` is manually controlled with placement-`new T _storage; }; -We call it a ['direct] storage. This makes `optional` a trivially-copyable type for scalar `T`s. This only works for compilers that support defaulted functions (including defaulted move assignment and constructor). On compilers without defaulted functions we still use the direct storage, but `optional` is no longer recognized as trivially-copyable. Apart from scalar types, we leave the programmer a way of customizing her type, so that it is reconized by `optional` as candidate for optimized storage, by specializing type trait `boost::opitonal_config::optional_uses_direct_storage_for`: +We call it a ['direct] storage. This makes `optional` a trivially-copyable type for scalar `T`s. This only works for compilers that support defaulted functions (including defaulted move assignment and constructor). On compilers without defaulted functions we still use the direct storage, but `optional` is no longer recognized as trivially-copyable. Apart from scalar types, we leave the programmer a way of customizing her type, so that it is reconized by `optional` as candidate for optimized storage, by specializing type trait `boost::optional_config::optional_uses_direct_storage_for`: struct X // not trivial { diff --git a/doc/28_ref_optional_semantics.qbk b/doc/28_ref_optional_semantics.qbk index e55771b..8c4fd97 100644 --- a/doc/28_ref_optional_semantics.qbk +++ b/doc/28_ref_optional_semantics.qbk @@ -1249,7 +1249,7 @@ __SPACE__ * [*Returns:] `(!y) ? false : (!x) ? true : *x < *y`. * [*Notes:] This definition guarantees that `optional` not containing a value is ordered as less than any `optional` containing any value, and equivalent to any other `optional` not containing a value. Pointers have shallow relational operators while `optional` has deep relational operators. Do not use `operator<` directly in generic code -which expect to be given either an `optional` or a pointer; use __FUNCTION_LESS_POINTEES__ instead. `T` need not be __STD_LESS_THAN_COMPARABLE__. Only single `operator<` is required. Other relational operations are defined in terms of this one. If `T`'s `operator<` satisfies the axioms of __STD_LESS_THAN_COMPARABLE__ (transitivity, antisymmetry and irreflexivity), `optinal` is __STD_LESS_THAN_COMPARABLE__. +which expect to be given either an `optional` or a pointer; use __FUNCTION_LESS_POINTEES__ instead. `T` need not be __STD_LESS_THAN_COMPARABLE__. Only single `operator<` is required. Other relational operations are defined in terms of this one. If `T`'s `operator<` satisfies the axioms of __STD_LESS_THAN_COMPARABLE__ (transitivity, antisymmetry and irreflexivity), `optional` is __STD_LESS_THAN_COMPARABLE__. * [*Example:] `` optional oN, oN_; diff --git a/doc/91_relnotes.qbk b/doc/91_relnotes.qbk index 5c8fa3f..a52e3ce 100644 --- a/doc/91_relnotes.qbk +++ b/doc/91_relnotes.qbk @@ -13,7 +13,7 @@ [heading Boost Release 1.80] -* [*Breaking change:] Added specializations for `std::hash>`. This fixes [@https://github.com/boostorg/optional/issues/55 issue #55]. You may get compiler errors when your program provides specializations for `std::hash>`. If this happens, define macro `BOOST_OPTIONAL_CONFIG_DO_NOT_SPECIALIZE_STD_HASH` to suppress the specializations of `std::hash` in this library. +* [*Breaking change:] Added specializations for `std::hash>`. This fixes [@https://github.com/boostorg/optional/issues/55 issue #55]. You may get compiler errors when your program provides specializations for `std::hash>`. If this happens, define macro `BOOST_OPTIONAL_CONFIG_DO_NOT_SPECIALIZE_STD_HASH` to suppress the specializations of `std::hash` in this library. [heading Boost Release 1.79] @@ -50,7 +50,7 @@ * Added member function `has_value()` for compatibility with `std::optional` ([@https://github.com/boostorg/optional/issues/52 issue #52]). * Added member function `map()` for transforming `optional` into `optional` using a function of type `T -> U`. -* Added member function `flat_map()` for transforming `optional` into `optional` using a function of type `T -> optonal`. +* Added member function `flat_map()` for transforming `optional` into `optional` using a function of type `T -> optional`. [heading Boost Release 1.67] diff --git a/doc/html/boost_optional/quick_start/optional_return_values.html b/doc/html/boost_optional/quick_start/optional_return_values.html index fef09ff..b9953e7 100644 --- a/doc/html/boost_optional/quick_start/optional_return_values.html +++ b/doc/html/boost_optional/quick_start/optional_return_values.html @@ -37,7 +37,7 @@ is possible. A natural signature for this function can be:

#include <boost/optional.hpp>
-boost::optionl<int> convert(const std::string& text);
+boost::optional<int> convert(const std::string& text);
 

All necessary functionality can be included with one header <boost/optional.hpp>. @@ -49,7 +49,7 @@ can use our function:

const std::string& text = /*... */;
-boost::optionl<int> oi = convert(text); // move-construct
+boost::optional<int> oi = convert(text); // move-construct
 if (oi)                                 // contextual conversion to bool
   int i = *oi;                          // operator*
 
@@ -58,7 +58,7 @@ contains a value, we use the contextual conversion to type bool. Because of this we can combine the initialization of the optional object and the test into one instruction:

-
if (boost::optionl<int> oi = convert(text))
+
if (boost::optional<int> oi = convert(text))
   int i = *oi;
 

@@ -98,7 +98,7 @@ Now, let's consider how function convert can be implemented.

-
boost::optionl<int> convert(const std::string& text)
+
boost::optional<int> convert(const std::string& text)
 {
   std::stringstream s(text);
   int i;
diff --git a/doc/html/boost_optional/reference/header__boost_optional_optional_hpp_/detailed_semantics.html b/doc/html/boost_optional/reference/header__boost_optional_optional_hpp_/detailed_semantics.html
index b7d25f5..e893e19 100644
--- a/doc/html/boost_optional/reference/header__boost_optional_optional_hpp_/detailed_semantics.html
+++ b/doc/html/boost_optional/reference/header__boost_optional_optional_hpp_/detailed_semantics.html
@@ -2129,7 +2129,7 @@
               is required. Other relational operations are defined in terms of this
               one. If T's operator<
               satisfies the axioms of LessThanComparable (transitivity,
-              antisymmetry and irreflexivity), optinal<T> is LessThanComparable.
+              antisymmetry and irreflexivity), optional<T> is LessThanComparable.
             
 
  • Example: diff --git a/doc/html/boost_optional/reference/header__boost_optional_optional_hpp_/detailed_semantics____free_functions.html b/doc/html/boost_optional/reference/header__boost_optional_optional_hpp_/detailed_semantics____free_functions.html index 462f109..768d690 100644 --- a/doc/html/boost_optional/reference/header__boost_optional_optional_hpp_/detailed_semantics____free_functions.html +++ b/doc/html/boost_optional/reference/header__boost_optional_optional_hpp_/detailed_semantics____free_functions.html @@ -153,7 +153,7 @@ is required. Other relational operations are defined in terms of this one. If T's operator< satisfies the axioms of LessThanComparable (transitivity, - antisymmetry and irreflexivity), optinal<T> is LessThanComparable. + antisymmetry and irreflexivity), optional<T> is LessThanComparable.
  • Example: diff --git a/doc/html/boost_optional/reference/header__boost_optional_optional_hpp_/detailed_semantics___free_functions.html b/doc/html/boost_optional/reference/header__boost_optional_optional_hpp_/detailed_semantics___free_functions.html index 2781080..e1f7d4e 100644 --- a/doc/html/boost_optional/reference/header__boost_optional_optional_hpp_/detailed_semantics___free_functions.html +++ b/doc/html/boost_optional/reference/header__boost_optional_optional_hpp_/detailed_semantics___free_functions.html @@ -179,7 +179,7 @@ is required. Other relational operations are defined in terms of this one. If T's operator< satisfies the axioms of LessThanComparable (transitivity, - antisymmetry and irreflexivity), optinal<T> is LessThanComparable. + antisymmetry and irreflexivity), optional<T> is LessThanComparable.
  • Example: diff --git a/doc/html/boost_optional/relnotes.html b/doc/html/boost_optional/relnotes.html index f59b5e6..e90dcc5 100644 --- a/doc/html/boost_optional/relnotes.html +++ b/doc/html/boost_optional/relnotes.html @@ -131,7 +131,7 @@ Added member function map() for transforming optional<T> into optional<U> using a function of type T -> U.
  • - Added member function flat_map() for transforming optional<T> into optional<U> using a function of type T -> optonal<U>. + Added member function flat_map() for transforming optional<T> into optional<U> using a function of type T -> optional<U>.
  • diff --git a/doc/html/boost_optional/tutorial/performance_considerations.html b/doc/html/boost_optional/tutorial/performance_considerations.html index f6e7fb4..7d1e0f8 100644 --- a/doc/html/boost_optional/tutorial/performance_considerations.html +++ b/doc/html/boost_optional/tutorial/performance_considerations.html @@ -62,7 +62,7 @@ is no longer recognized as trivially-copyable. Apart from scalar types, we leave the programmer a way of customizing her type, so that it is reconized by optional as candidate - for optimized storage, by specializing type trait boost::opitonal_config::optional_uses_direct_storage_for: + for optimized storage, by specializing type trait boost::optional_config::optional_uses_direct_storage_for:

    struct X // not trivial
     {
    diff --git a/doc/html/boost_optional/tutorial/relational_operators.html b/doc/html/boost_optional/tutorial/relational_operators.html
    index ddb6870..e384ab0 100644
    --- a/doc/html/boost_optional/tutorial/relational_operators.html
    +++ b/doc/html/boost_optional/tutorial/relational_operators.html
    @@ -51,7 +51,7 @@
             of the mixed comparison between T
             and optional<T> as
             well as between none_t and
    -        optionl<T>:
    +        optional<T>:
           

    assert(oN != 0);
     assert(o1 != boost::none);
    diff --git a/test/optional_test_deleted_default_ctor.cpp b/test/optional_test_deleted_default_ctor.cpp
    index 1fe2bdb..ec38b91 100644
    --- a/test/optional_test_deleted_default_ctor.cpp
    +++ b/test/optional_test_deleted_default_ctor.cpp
    @@ -22,7 +22,7 @@ int main()
     class basic_multi_buffer;
     
     class const_buffers_type // a similar declaration in boost.beast had problem
    -{                        // with boost opitonal
    +{                        // with boost optional
         basic_multi_buffer const* b_;
     
         friend class basic_multi_buffer;
    diff --git a/test/optional_test_tc_base.cpp b/test/optional_test_tc_base.cpp
    index 8c78dc0..6046395 100644
    --- a/test/optional_test_tc_base.cpp
    +++ b/test/optional_test_tc_base.cpp
    @@ -70,7 +70,7 @@ void test_value_init()
     	}
     }
     
    -void test_optoinal_reference_wrapper()
    +void test_optional_reference_wrapper()
     {
     	boost::optional > o;
     	BOOST_TEST(boost::none == o);
    @@ -80,7 +80,7 @@ int main()
     {
       test_tc_base();
       test_value_init();
    -  test_optoinal_reference_wrapper();
    +  test_optional_reference_wrapper();
       return boost::report_errors();
     }