| 693 | } |
| 694 | |
| 695 | inline void swap(basic_var &other) noexcept |
| 696 | { |
| 697 | if (m_dispatcher != other.m_dispatcher && type() != other.type()) |
| 698 | { |
| 699 | basic_var tmp; |
| 700 | tmp.move_store(*this); |
| 701 | move_store(other); |
| 702 | other.move_store(tmp); |
| 703 | } |
| 704 | else |
| 705 | m_dispatcher(operators::type::swap, this, (void *) &other); |
| 706 | } |
| 707 | |
| 708 | template <typename T, typename store_t = cs_impl::var_storage_t<T>, |
| 709 | typename = std::enable_if_t<!std::is_same<store_t, basic_var>::value>> |
no test coverage detected