| 66 | } |
| 67 | |
| 68 | Options::Options(Options&& other) noexcept |
| 69 | : value(std::move(other.value)), attributes(std::move(other.attributes)), |
| 70 | parent_instance(other.parent_instance), full_name(std::move(other.full_name)), |
| 71 | is_section(other.is_section), children(std::move(other.children)), |
| 72 | value_used(other.value_used) { |
| 73 | |
| 74 | // Ensure that this is the parent of all children, |
| 75 | // otherwise will point to the original Options instance |
| 76 | for (auto& child : children) { |
| 77 | child.second.parent_instance = this; |
| 78 | } |
| 79 | } |
| 80 | |
| 81 | template <> |
| 82 | Options::Options(const char* value) { |