Skip to content

Commit 0a50e30

Browse files
committed
CI
1 parent d28d6b1 commit 0a50e30

File tree

1 file changed

+35
-34
lines changed

1 file changed

+35
-34
lines changed

libcxx/include/variant

Lines changed: 35 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,8 @@ namespace std {
4848
constexpr variant& operator=(const variant&);
4949
constexpr variant& operator=(variant&&) noexcept(see below);
5050
51-
template <class T> variant& operator=(T&&) noexcept(see below);
51+
template <class T>
52+
constexpr variant& operator=(T&&) noexcept(see below); // constexpr since c++20
5253
5354
// 20.7.2.4, modifiers
5455
template <class T, class... Args>
@@ -688,7 +689,7 @@ union _LIBCPP_TEMPLATE_VIS __union<_DestructibleTrait, _Index> {};
688689
__union(const __union&) = default; \
689690
__union(__union&&) = default; \
690691
\
691-
destructor \
692+
_LIBCPP_HIDE_FROM_ABI destructor \
692693
\
693694
__union& \
694695
operator=(const __union&) = default; \
@@ -758,10 +759,10 @@ class _LIBCPP_TEMPLATE_VIS __dtor;
758759
using __base_type::__base_type; \
759760
using __base_type::operator=; \
760761
\
761-
__dtor(const __dtor&) = default; \
762-
__dtor(__dtor&&) = default; \
763-
destructor __dtor& operator=(const __dtor&) = default; \
764-
__dtor& operator=(__dtor&&) = default; \
762+
__dtor(const __dtor&) = default; \
763+
__dtor(__dtor&&) = default; \
764+
_LIBCPP_HIDE_FROM_ABI destructor __dtor& operator=(const __dtor&) = default; \
765+
__dtor& operator=(__dtor&&) = default; \
765766
\
766767
protected: \
767768
inline _LIBCPP_HIDE_FROM_ABI destroy \
@@ -801,7 +802,7 @@ public:
801802

802803
protected:
803804
template <class _Rhs>
804-
_LIBCPP_CONSTEXPR_SINCE_CXX20 _LIBCPP_HIDE_FROM_ABI static void __generic_construct(__ctor& __lhs, _Rhs&& __rhs) {
805+
_LIBCPP_HIDE_FROM_ABI static _LIBCPP_CONSTEXPR_SINCE_CXX20 void __generic_construct(__ctor& __lhs, _Rhs&& __rhs) {
805806
__lhs.__destroy();
806807
if (!__rhs.valueless_by_exception()) {
807808
// We cannot directly construct at the target __alt because its direct enclosing union is not activated yet.
@@ -835,10 +836,10 @@ class _LIBCPP_TEMPLATE_VIS __move_constructor;
835836
using __base_type::__base_type; \
836837
using __base_type::operator=; \
837838
\
838-
__move_constructor(const __move_constructor&) = default; \
839-
move_constructor ~__move_constructor() = default; \
840-
__move_constructor& operator=(const __move_constructor&) = default; \
841-
__move_constructor& operator=(__move_constructor&&) = default; \
839+
__move_constructor(const __move_constructor&) = default; \
840+
_LIBCPP_HIDE_FROM_ABI move_constructor ~__move_constructor() = default; \
841+
__move_constructor& operator=(const __move_constructor&) = default; \
842+
__move_constructor& operator=(__move_constructor&&) = default; \
842843
}
843844

844845
_LIBCPP_VARIANT_MOVE_CONSTRUCTOR(
@@ -869,10 +870,10 @@ class _LIBCPP_TEMPLATE_VIS __copy_constructor;
869870
using __base_type::__base_type; \
870871
using __base_type::operator=; \
871872
\
872-
copy_constructor __copy_constructor(__copy_constructor&&) = default; \
873-
~__copy_constructor() = default; \
874-
__copy_constructor& operator=(const __copy_constructor&) = default; \
875-
__copy_constructor& operator=(__copy_constructor&&) = default; \
873+
_LIBCPP_HIDE_FROM_ABI copy_constructor __copy_constructor(__copy_constructor&&) = default; \
874+
~__copy_constructor() = default; \
875+
__copy_constructor& operator=(const __copy_constructor&) = default; \
876+
__copy_constructor& operator=(__copy_constructor&&) = default; \
876877
}
877878

878879
_LIBCPP_VARIANT_COPY_CONSTRUCTOR(
@@ -897,7 +898,7 @@ public:
897898
using __base_type::operator=;
898899

899900
template <size_t _Ip, class... _Args>
900-
_LIBCPP_CONSTEXPR_SINCE_CXX20 _LIBCPP_HIDE_FROM_ABI auto& __emplace(_Args&&... __args) {
901+
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 auto& __emplace(_Args&&... __args) {
901902
this->__destroy();
902903
std::__construct_at(std::addressof(this->__data), in_place_index<_Ip>, std::forward<_Args>(__args)...);
903904
this->__index = _Ip;
@@ -906,15 +907,15 @@ public:
906907

907908
protected:
908909
template <size_t _Ip, class _Tp, class _Arg>
909-
_LIBCPP_CONSTEXPR_SINCE_CXX20 _LIBCPP_HIDE_FROM_ABI void __assign_alt(__alt<_Ip, _Tp>& __a, _Arg&& __arg) {
910+
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 void __assign_alt(__alt<_Ip, _Tp>& __a, _Arg&& __arg) {
910911
if (this->index() == _Ip) {
911912
__a.__value = std::forward<_Arg>(__arg);
912913
} else {
913914
struct {
914-
_LIBCPP_CONSTEXPR_SINCE_CXX20 _LIBCPP_HIDE_FROM_ABI void operator()(true_type) const {
915+
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 void operator()(true_type) const {
915916
__this->__emplace<_Ip>(std::forward<_Arg>(__arg));
916917
}
917-
_LIBCPP_CONSTEXPR_SINCE_CXX20 _LIBCPP_HIDE_FROM_ABI void operator()(false_type) const {
918+
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 void operator()(false_type) const {
918919
__this->__emplace<_Ip>(_Tp(std::forward<_Arg>(__arg)));
919920
}
920921
__assignment* __this;
@@ -925,7 +926,7 @@ protected:
925926
}
926927

927928
template <class _That>
928-
_LIBCPP_CONSTEXPR_SINCE_CXX20 _LIBCPP_HIDE_FROM_ABI void __generic_assign(_That&& __that) {
929+
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 void __generic_assign(_That&& __that) {
929930
if (this->valueless_by_exception() && __that.valueless_by_exception()) {
930931
// do nothing.
931932
} else if (__that.valueless_by_exception()) {
@@ -959,7 +960,7 @@ class _LIBCPP_TEMPLATE_VIS __move_assignment;
959960
__move_assignment(__move_assignment&&) = default; \
960961
~__move_assignment() = default; \
961962
__move_assignment& operator=(const __move_assignment&) = default; \
962-
move_assignment \
963+
_LIBCPP_HIDE_FROM_ABI move_assignment \
963964
}
964965

965966
_LIBCPP_VARIANT_MOVE_ASSIGNMENT(
@@ -993,10 +994,10 @@ class _LIBCPP_TEMPLATE_VIS __copy_assignment;
993994
using __base_type::__base_type; \
994995
using __base_type::operator=; \
995996
\
996-
__copy_assignment(const __copy_assignment&) = default; \
997-
__copy_assignment(__copy_assignment&&) = default; \
998-
~__copy_assignment() = default; \
999-
copy_assignment __copy_assignment& operator=(__copy_assignment&&) = default; \
997+
__copy_assignment(const __copy_assignment&) = default; \
998+
__copy_assignment(__copy_assignment&&) = default; \
999+
~__copy_assignment() = default; \
1000+
_LIBCPP_HIDE_FROM_ABI copy_assignment __copy_assignment& operator=(__copy_assignment&&) = default; \
10001001
}
10011002

10021003
_LIBCPP_VARIANT_COPY_ASSIGNMENT(
@@ -1027,11 +1028,11 @@ public:
10271028
_LIBCPP_HIDE_FROM_ABI __impl& operator=(__impl&&) = default;
10281029

10291030
template <size_t _Ip, class _Arg>
1030-
_LIBCPP_CONSTEXPR_SINCE_CXX20 _LIBCPP_HIDE_FROM_ABI void __assign(_Arg&& __arg) {
1031+
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 void __assign(_Arg&& __arg) {
10311032
this->__assign_alt(__access::__base::__get_alt<_Ip>(*this), std::forward<_Arg>(__arg));
10321033
}
10331034

1034-
_LIBCPP_CONSTEXPR_SINCE_CXX20 inline _LIBCPP_HIDE_FROM_ABI void __swap(__impl& __that) {
1035+
inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 void __swap(__impl& __that) {
10351036
if (this->valueless_by_exception() && __that.valueless_by_exception()) {
10361037
// do nothing.
10371038
} else if (this->index() == __that.index()) {
@@ -1240,7 +1241,7 @@ public:
12401241
_Args&&... __args) noexcept(is_nothrow_constructible_v<_Tp, initializer_list< _Up>&, _Args...>)
12411242
: __impl_(in_place_index<_Ip>, __il, std::forward<_Args>(__args)...) {}
12421243

1243-
_LIBCPP_HIDE_FROM_ABI constexpr ~variant() = default;
1244+
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 ~variant() = default;
12441245

12451246
_LIBCPP_HIDE_FROM_ABI constexpr variant& operator=(const variant&) = default;
12461247
_LIBCPP_HIDE_FROM_ABI constexpr variant& operator=(variant&&) = default;
@@ -1250,7 +1251,7 @@ public:
12501251
class _Tp = __variant_detail::__best_match_t<_Arg, _Types...>,
12511252
size_t _Ip = __find_detail::__find_unambiguous_index_sfinae<_Tp, _Types...>::value,
12521253
enable_if_t<is_assignable_v<_Tp&, _Arg> && is_constructible_v<_Tp, _Arg>, int> = 0>
1253-
_LIBCPP_CONSTEXPR_SINCE_CXX20 _LIBCPP_HIDE_FROM_ABI variant&
1254+
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 variant&
12541255
operator=(_Arg&& __arg) noexcept(is_nothrow_assignable_v<_Tp&, _Arg> && is_nothrow_constructible_v<_Tp, _Arg>) {
12551256
__impl_.template __assign<_Ip>(std::forward<_Arg>(__arg));
12561257
return *this;
@@ -1261,7 +1262,7 @@ public:
12611262
enable_if_t<(_Ip < sizeof...(_Types)), int> = 0,
12621263
class _Tp = variant_alternative_t<_Ip, variant<_Types...>>,
12631264
enable_if_t<is_constructible_v<_Tp, _Args...>, int> = 0>
1264-
_LIBCPP_CONSTEXPR_SINCE_CXX20 _LIBCPP_HIDE_FROM_ABI _Tp& emplace(_Args&&... __args) {
1265+
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 _Tp& emplace(_Args&&... __args) {
12651266
return __impl_.template __emplace<_Ip>(std::forward<_Args>(__args)...);
12661267
}
12671268

@@ -1271,15 +1272,15 @@ public:
12711272
enable_if_t<(_Ip < sizeof...(_Types)), int> = 0,
12721273
class _Tp = variant_alternative_t<_Ip, variant<_Types...>>,
12731274
enable_if_t<is_constructible_v<_Tp, initializer_list<_Up>&, _Args...>, int> = 0>
1274-
_LIBCPP_CONSTEXPR_SINCE_CXX20 _LIBCPP_HIDE_FROM_ABI _Tp& emplace(initializer_list<_Up> __il, _Args&&... __args) {
1275+
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 _Tp& emplace(initializer_list<_Up> __il, _Args&&... __args) {
12751276
return __impl_.template __emplace<_Ip>(__il, std::forward<_Args>(__args)...);
12761277
}
12771278

12781279
template < class _Tp,
12791280
class... _Args,
12801281
size_t _Ip = __find_detail::__find_unambiguous_index_sfinae<_Tp, _Types...>::value,
12811282
enable_if_t<is_constructible_v<_Tp, _Args...>, int> = 0>
1282-
_LIBCPP_CONSTEXPR_SINCE_CXX20 _LIBCPP_HIDE_FROM_ABI _Tp& emplace(_Args&&... __args) {
1283+
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 _Tp& emplace(_Args&&... __args) {
12831284
return __impl_.template __emplace<_Ip>(std::forward<_Args>(__args)...);
12841285
}
12851286

@@ -1288,7 +1289,7 @@ public:
12881289
class... _Args,
12891290
size_t _Ip = __find_detail::__find_unambiguous_index_sfinae<_Tp, _Types...>::value,
12901291
enable_if_t<is_constructible_v<_Tp, initializer_list<_Up>&, _Args...>, int> = 0>
1291-
_LIBCPP_CONSTEXPR_SINCE_CXX20 _LIBCPP_HIDE_FROM_ABI _Tp& emplace(initializer_list<_Up> __il, _Args&&... __args) {
1292+
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 _Tp& emplace(initializer_list<_Up> __il, _Args&&... __args) {
12921293
return __impl_.template __emplace<_Ip>(__il, std::forward<_Args>(__args)...);
12931294
}
12941295

@@ -1302,7 +1303,7 @@ public:
13021303
enable_if_t< __all<(__dependent_type<is_move_constructible<_Types>, _Dummy>::value &&
13031304
__dependent_type<is_swappable<_Types>, _Dummy>::value)...>::value,
13041305
int> = 0>
1305-
_LIBCPP_CONSTEXPR_SINCE_CXX20 _LIBCPP_HIDE_FROM_ABI void swap(variant& __that) noexcept(
1306+
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 void swap(variant& __that) noexcept(
13061307
__all<(is_nothrow_move_constructible_v<_Types> && is_nothrow_swappable_v<_Types>)...>::value) {
13071308
__impl_.__swap(__that.__impl_);
13081309
}

0 commit comments

Comments
 (0)