Skip to content

Commit 0cd56e1

Browse files
committed
raise priority of optional and variant above sequence
1 parent bab5f37 commit 0cd56e1

File tree

11 files changed

+548
-162
lines changed

11 files changed

+548
-162
lines changed

CHANGELOG.adoc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ include::doc/pages/definitions.adoc[]
88
== Boost 1.89.0
99

1010
.API Changes
11+
* {issue}1050[#1050] Optionals that are ranges are categorised as optionals.
1112
* {issue}1086[#1086] Described class support is enabled for types with bases.
1213

1314
== Boost 1.87.0

doc/externals.hpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -212,6 +212,11 @@ struct bad_alloc {};
212212
/// @see https://en.cppreference.com/w/cpp/container/map
213213
struct map {};
214214

215+
/// !EXTERNAL!
216+
///
217+
/// @see https://en.cppreference.com/w/cpp/container/multimap
218+
struct multimap {};
219+
215220
/// !EXTERNAL!
216221
///
217222
/// @see https://en.cppreference.com/w/cpp/container/unordered_map

doc/pages/conversion/overview.adoc

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,20 @@ a| The result is a number equal to input and has the type
7070
|The result is a <<ref_string>>.
7171
|The result is constructed from a <<ref_string_view>>.
7272

73+
|Type satisfying <<ref_is_variant_like>>.
74+
|`std::variant` and similar types, e.g. `boost::variant2::variant`.
75+
|The result is equal to the result of conversion of the active variant
76+
alternative.
77+
|The result holds the first alternative for which a conversion succeeds.
78+
79+
|Type satisfying <<ref_is_optional_like>>
80+
|
81+
|If the input value is empty, the result is a `null`. Otherwise it is
82+
equivalent to conversion of the object stored inside of optional.
83+
|The result is default constructed if the input value is `null`. Otherwise the
84+
result is constructed from the result of conversion of the input to the
85+
type stored in optional.
86+
7387
|Type satisfying <<ref_is_map_like>>.
7488
|A one-to-one mapping (e.g. `std::map`) with string-like keys.
7589
|The result is an <<ref_object>>.
@@ -99,20 +113,6 @@ a| The result is a number equal to input and has the type
99113
|The result is the described enumerator, corresponding to the input
100114
<<ref_string>>.
101115

102-
|Type satisfying <<ref_is_variant_like>>.
103-
|`std::variant` and similar types, e.g. `boost::variant2::variant`.
104-
|The result is equal to the result of conversion of the active variant
105-
alternative.
106-
|The result holds the first alternative for which a conversion succeeds.
107-
108-
|Type satisfying <<ref_is_optional_like>>
109-
|
110-
|If the input value is empty, the result is a `null`. Otherwise it is
111-
equivalent to conversion of the object stored inside of optional.
112-
|The result is default constructed if the input value is `null`. Otherwise the
113-
result is constructed from the result of conversion of the input to the
114-
type stored in optional.
115-
116116
|Type satisfying <<ref_is_path_like>>.
117117
|`std::filesystem::path` and similar types, e.g. `boost::filesystem::path`.
118118
|The result is equal to the result of `path::generic_string`.

doc/pages/reference.adoc

Lines changed: 22 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -75,24 +75,36 @@ a| *Functions* +
7575
<<ref_string_kind>>
7676

7777
| *Type Traits* +
78+
<<ref_conversion_category_for>> +
79+
<<ref_described_class_category>> +
80+
<<ref_described_enum_category>> +
7881
<<ref_has_value_from>> +
7982
<<ref_has_value_to>> +
8083
<<ref_is_deallocate_trivial>> +
81-
<<ref_is_described_class>> +
82-
<<ref_is_described_enum>> +
83-
<<ref_is_map_like>> +
84-
<<ref_is_null_like>> +
85-
<<ref_is_optional_like>> +
86-
<<ref_is_path_like>> +
87-
<<ref_is_sequence_like>> +
88-
<<ref_is_string_like>> +
89-
<<ref_is_tuple_like>> +
90-
<<ref_is_variant_like>> +
84+
<<ref_map_category>> +
85+
<<ref_null_category>> +
86+
<<ref_optional_category>> +
87+
<<ref_path_category>> +
88+
<<ref_sequence_category>> +
89+
<<ref_string_category>> +
90+
<<ref_tuple_category>> +
91+
<<ref_variant_category>> +
9192
<<ref_result_for>> +
9293
<<ref_try_value_to_tag>> +
9394
<<ref_value_from_tag>> +
9495
<<ref_value_to_tag>>
9596

97+
4+h| Deprecated
98+
| <<ref_is_described_class>> +
99+
<<ref_is_described_enum>> +
100+
<<ref_is_map_like>>
101+
| <<ref_is_null_like>> +
102+
<<ref_is_optional_like>>
103+
| <<ref_is_path_like>> +
104+
<<ref_is_sequence_like>> +
105+
<<ref_is_string_like>>
106+
| <<ref_is_tuple_like>> +
107+
<<ref_is_variant_like>>
96108
|===
97109

98110
include::{entities-file}[leveloffset=+1]

0 commit comments

Comments
 (0)