@@ -811,9 +811,8 @@ namespace __variant
811
811
{
812
812
using _Alternative = variant_alternative_t <__index, _Next>;
813
813
__element = __gen_vtable_impl<
814
- remove_reference_t <
815
- decltype (__element)>, tuple<_Variants...>,
816
- std::index_sequence<__indices..., __index>>::_S_apply ();
814
+ remove_reference_t <decltype (__element)>, tuple<_Variants...>,
815
+ std::index_sequence<__indices..., __index>>::_S_apply ();
817
816
}
818
817
};
819
818
@@ -826,11 +825,11 @@ namespace __variant
826
825
using _Array_type =
827
826
_Multi_array<_Result_type (*)(_Visitor&&, _Variants...)>;
828
827
829
- decltype (auto )
830
- static constexpr __visit_invoke (_Visitor&& __visitor, _Variants... __vars)
828
+ static constexpr decltype (auto )
829
+ __visit_invoke(_Visitor&& __visitor, _Variants... __vars)
831
830
{
832
831
return std::__invoke (std::forward<_Visitor>(__visitor),
833
- std::get <__indices>(std::forward<_Variants>(__vars))...);
832
+ __variant::__get <__indices>(std::forward<_Variants>(__vars))...);
834
833
}
835
834
836
835
static constexpr auto
@@ -871,16 +870,16 @@ namespace __variant
871
870
} // namespace __detail
872
871
873
872
template <typename _Tp, typename ... _Types>
874
- inline constexpr bool holds_alternative ( const variant<_Types...>& __v)
875
- noexcept
873
+ constexpr bool
874
+ holds_alternative ( const variant<_Types...>& __v) noexcept
876
875
{
877
876
static_assert (__detail::__variant::__exactly_once<_Tp, _Types...>,
878
877
" T should occur for exactly once in alternatives" );
879
878
return __v.index () == __detail::__variant::__index_of_v<_Tp, _Types...>;
880
879
}
881
880
882
881
template <typename _Tp, typename ... _Types>
883
- constexpr inline _Tp& get (variant<_Types...>& __v)
882
+ constexpr _Tp& get (variant<_Types...>& __v)
884
883
{
885
884
static_assert (__detail::__variant::__exactly_once<_Tp, _Types...>,
886
885
" T should occur for exactly once in alternatives" );
@@ -889,7 +888,7 @@ namespace __variant
889
888
}
890
889
891
890
template <typename _Tp, typename ... _Types>
892
- constexpr inline _Tp&& get (variant<_Types...>&& __v)
891
+ constexpr _Tp&& get (variant<_Types...>&& __v)
893
892
{
894
893
static_assert (__detail::__variant::__exactly_once<_Tp, _Types...>,
895
894
" T should occur for exactly once in alternatives" );
@@ -899,7 +898,7 @@ namespace __variant
899
898
}
900
899
901
900
template <typename _Tp, typename ... _Types>
902
- constexpr inline const _Tp& get (const variant<_Types...>& __v)
901
+ constexpr const _Tp& get (const variant<_Types...>& __v)
903
902
{
904
903
static_assert (__detail::__variant::__exactly_once<_Tp, _Types...>,
905
904
" T should occur for exactly once in alternatives" );
@@ -908,7 +907,7 @@ namespace __variant
908
907
}
909
908
910
909
template <typename _Tp, typename ... _Types>
911
- constexpr inline const _Tp&& get (const variant<_Types...>&& __v)
910
+ constexpr const _Tp&& get (const variant<_Types...>&& __v)
912
911
{
913
912
static_assert (__detail::__variant::__exactly_once<_Tp, _Types...>,
914
913
" T should occur for exactly once in alternatives" );
@@ -918,8 +917,7 @@ namespace __variant
918
917
}
919
918
920
919
template <size_t _Np, typename ... _Types>
921
- constexpr inline
922
- add_pointer_t <variant_alternative_t <_Np, variant<_Types...>>>
920
+ constexpr add_pointer_t <variant_alternative_t <_Np, variant<_Types...>>>
923
921
get_if (variant<_Types...>* __ptr) noexcept
924
922
{
925
923
using _Alternative_type = variant_alternative_t <_Np, variant<_Types...>>;
@@ -932,7 +930,7 @@ namespace __variant
932
930
}
933
931
934
932
template <size_t _Np, typename ... _Types>
935
- constexpr inline
933
+ constexpr
936
934
add_pointer_t <const variant_alternative_t <_Np, variant<_Types...>>>
937
935
get_if (const variant<_Types...>* __ptr) noexcept
938
936
{
@@ -946,7 +944,7 @@ namespace __variant
946
944
}
947
945
948
946
template <typename _Tp, typename ... _Types>
949
- constexpr inline add_pointer_t <_Tp>
947
+ constexpr add_pointer_t <_Tp>
950
948
get_if (variant<_Types...>* __ptr) noexcept
951
949
{
952
950
static_assert (__detail::__variant::__exactly_once<_Tp, _Types...>,
@@ -957,7 +955,7 @@ namespace __variant
957
955
}
958
956
959
957
template <typename _Tp, typename ... _Types>
960
- constexpr inline add_pointer_t <const _Tp>
958
+ constexpr add_pointer_t <const _Tp>
961
959
get_if (const variant<_Types...>* __ptr)
962
960
noexcept
963
961
{
@@ -1277,7 +1275,7 @@ namespace __variant
1277
1275
{ &__detail::__variant::__erased_##__NAME< \
1278
1276
const variant&, __indices>... }; \
1279
1277
template <size_t ... __indices> \
1280
- constexpr inline bool \
1278
+ constexpr bool \
1281
1279
_M_##__NAME(const variant& __rhs, \
1282
1280
std::index_sequence<__indices...>) const \
1283
1281
{ \
0 commit comments