| 867 | |
| 868 | public: |
| 869 | void swap(any &obj, bool raw = false) |
| 870 | { |
| 871 | if (this->mDat != nullptr && obj.mDat != nullptr && raw) { |
| 872 | if (mDat->protect_level != 0 || obj.mDat->protect_level > 0) |
| 873 | throw cs::runtime_error("The variable has been protected"); |
| 874 | this->mDat->data.swap(obj.mDat->data); |
| 875 | } |
| 876 | else |
| 877 | std::swap(this->mDat, obj.mDat); |
| 878 | } |
| 879 | |
| 880 | void swap(any &&obj, bool raw = false) |
| 881 | { |
no test coverage detected