Lines Matching refs:other
149 Union(const Union& other, std::int32_t index) {
151 new (&first_) Type(other.first_);
153 Union(Union&& other, std::int32_t index) {
155 new (&first_) Type(std::move(other.first_));
252 Union(const Union& other, std::int32_t index) {
254 new (&first_) First(other.first_);
256 new (&rest_) Union<Rest...>(other.rest_, index - 1);
258 Union(Union&& other, std::int32_t index) {
260 new (&first_) First(std::move(other.first_));
262 new (&rest_) Union<Rest...>(std::move(other.rest_), index - 1);
448 Variant(const Variant& other)
449 : index_{other.index_}, value_{other.value_, other.index_} {}
450 Variant(Variant&& other)
451 : index_{other.index_}, value_{std::move(other.value_), other.index_} {}
456 explicit Variant(const Variant<OtherTypes...>& other) {
457 other.Visit([this](const auto& value) { Construct(value); });
460 explicit Variant(Variant<OtherTypes...>&& other) {
461 other.Visit([this](auto&& value) { Construct(std::move(value)); });
464 Variant& operator=(const Variant& other) {
465 other.Visit([this](const auto& value) { *this = value; });
468 Variant& operator=(Variant&& other) {
469 other.Visit([this](auto&& value) { *this = std::move(value); });
506 Variant& operator=(const Variant<OtherTypes...>& other) {
507 other.Visit([this](const auto& value) { *this = value; });
511 Variant& operator=(Variant<OtherTypes...>&& other) {
512 other.Visit([this](auto&& value) { *this = std::move(value); });