diff --git a/doc/variant2/changelog.adoc b/doc/variant2/changelog.adoc index 34848ba..425ed7c 100644 --- a/doc/variant2/changelog.adoc +++ b/doc/variant2/changelog.adoc @@ -13,6 +13,7 @@ https://www.boost.org/LICENSE_1_0.txt * Added ``. * Added `unsafe_get`. * Added `visit_by_index`. +* Added `operator<<`. ## Changes in 1.76.0 diff --git a/doc/variant2/reference.adoc b/doc/variant2/reference.adoc index 897fbf4..d9f2c9d 100644 --- a/doc/variant2/reference.adoc +++ b/doc/variant2/reference.adoc @@ -144,6 +144,17 @@ template template constexpr bool operator>=(const variant& v, const variant& w); +// stream insertion (extension) + +template + std::basic_ostream& + operator<<( std::basic_ostream& os, variant const& v ); + +// swap + +template + void swap(variant& v, variant& w) noexcept( /*see below*/ ); + // visit template @@ -165,11 +176,6 @@ constexpr bool operator>(monostate, monostate) noexcept { return false; } constexpr bool operator<=(monostate, monostate) noexcept { return true; } constexpr bool operator>=(monostate, monostate) noexcept { return true; } -// swap - -template - void swap(variant& v, variant& w) noexcept( /*see below*/ ); - // bad_variant_access class bad_variant_access; @@ -880,6 +886,32 @@ template Returns: :: `w \<= v`. +### Stream Insertion (extension) +``` +template + std::basic_ostream& + operator<<( std::basic_ostream& os, variant const& v ); +``` +[none] +* {blank} ++ +Requires: :: + `sizeof...(T) != 0`. +Returns: :: + `os << get(v)`, where `I` is `v.index()`. + +### swap + +``` +template + void swap(variant& v, variant& w) noexcept( /*see below*/ ); +``` +[none] +* {blank} ++ +Effects: :: + Equivalent to `v.swap(w)`. + ### visit ``` @@ -914,18 +946,6 @@ Remarks: :: If `R` is given explicitly, as in `visit_by_index`, the return of `Fi` to the corresponding variant alternatives must have the same return type for this deduction to succeed. -### swap - -``` -template - void swap(variant& v, variant& w) noexcept( /*see below*/ ); -``` -[none] -* {blank} -+ -Effects: :: - Equivalent to `v.swap(w)`. - ### bad_variant_access ```