Loading libs/vr/libpdx/private/pdx/rpc/variant.h +7 −0 Original line number Original line Diff line number Diff line Loading @@ -450,12 +450,19 @@ class Variant { Variant(Variant&& other) Variant(Variant&& other) : index_{other.index_}, value_{std::move(other.value_), other.index_} {} : index_{other.index_}, value_{std::move(other.value_), other.index_} {} // Recent Clang versions has a regression that produces bogus // unused-lambda-capture warning. Suppress the warning as a temporary // workaround. http://b/71356631 #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wunused-lambda-capture" // Copy and move construction from Variant types. Each element of OtherTypes // Copy and move construction from Variant types. Each element of OtherTypes // must be convertible to an element of Types. // must be convertible to an element of Types. template <typename... OtherTypes> template <typename... OtherTypes> explicit Variant(const Variant<OtherTypes...>& other) { explicit Variant(const Variant<OtherTypes...>& other) { other.Visit([this](const auto& value) { Construct(value); }); other.Visit([this](const auto& value) { Construct(value); }); } } #pragma clang diagnostic pop template <typename... OtherTypes> template <typename... OtherTypes> explicit Variant(Variant<OtherTypes...>&& other) { explicit Variant(Variant<OtherTypes...>&& other) { other.Visit([this](auto&& value) { Construct(std::move(value)); }); other.Visit([this](auto&& value) { Construct(std::move(value)); }); Loading Loading
libs/vr/libpdx/private/pdx/rpc/variant.h +7 −0 Original line number Original line Diff line number Diff line Loading @@ -450,12 +450,19 @@ class Variant { Variant(Variant&& other) Variant(Variant&& other) : index_{other.index_}, value_{std::move(other.value_), other.index_} {} : index_{other.index_}, value_{std::move(other.value_), other.index_} {} // Recent Clang versions has a regression that produces bogus // unused-lambda-capture warning. Suppress the warning as a temporary // workaround. http://b/71356631 #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wunused-lambda-capture" // Copy and move construction from Variant types. Each element of OtherTypes // Copy and move construction from Variant types. Each element of OtherTypes // must be convertible to an element of Types. // must be convertible to an element of Types. template <typename... OtherTypes> template <typename... OtherTypes> explicit Variant(const Variant<OtherTypes...>& other) { explicit Variant(const Variant<OtherTypes...>& other) { other.Visit([this](const auto& value) { Construct(value); }); other.Visit([this](const auto& value) { Construct(value); }); } } #pragma clang diagnostic pop template <typename... OtherTypes> template <typename... OtherTypes> explicit Variant(Variant<OtherTypes...>&& other) { explicit Variant(Variant<OtherTypes...>&& other) { other.Visit([this](auto&& value) { Construct(std::move(value)); }); other.Visit([this](auto&& value) { Construct(std::move(value)); }); Loading