//# This file is a part of toml++ and is subject to the the terms of the MIT license. //# Copyright (c) Mark Gillard //# See https://github.com/marzer/tomlplusplus/blob/master/LICENSE for the full license text. // SPDX-License-Identifier: MIT #pragma once //# {{ #include "toml_preprocessor.h" #if !TOML_IMPLEMENTATION #error This is an implementation-only header. #endif //# }} #include "toml_node.h" TOML_NAMESPACE_START { TOML_EXTERNAL_LINKAGE node::node(const node& /*other*/) noexcept { // does not copy source information - this is not an error // // see https://github.com/marzer/tomlplusplus/issues/49#issuecomment-665089577 } TOML_EXTERNAL_LINKAGE node::node(node && other) noexcept : source_{ std::move(other.source_) } { other.source_.begin = {}; other.source_.end = {}; } TOML_EXTERNAL_LINKAGE node& node::operator= (const node& /*rhs*/) noexcept { // does not copy source information - this is not an error // // see https://github.com/marzer/tomlplusplus/issues/49#issuecomment-665089577 source_ = {}; return *this; } TOML_EXTERNAL_LINKAGE node& node::operator= (node && rhs) noexcept { source_ = std::move(rhs.source_); rhs.source_.begin = {}; rhs.source_.end = {}; return *this; } #define TOML_MEMBER_ATTR(attr) TOML_EXTERNAL_LINKAGE TOML_ATTR(attr) TOML_MEMBER_ATTR(const) bool node::is_string() const noexcept { return false; } TOML_MEMBER_ATTR(const) bool node::is_integer() const noexcept { return false; } TOML_MEMBER_ATTR(const) bool node::is_floating_point() const noexcept { return false; } TOML_MEMBER_ATTR(const) bool node::is_number() const noexcept { return false; } TOML_MEMBER_ATTR(const) bool node::is_boolean() const noexcept { return false; } TOML_MEMBER_ATTR(const) bool node::is_date() const noexcept { return false; } TOML_MEMBER_ATTR(const) bool node::is_time() const noexcept { return false; } TOML_MEMBER_ATTR(const) bool node::is_date_time() const noexcept { return false; } TOML_MEMBER_ATTR(const) bool node::is_array_of_tables() const noexcept { return false; } TOML_MEMBER_ATTR(const) table* node::as_table() noexcept { return nullptr; } TOML_MEMBER_ATTR(const) array* node::as_array() noexcept { return nullptr; } TOML_MEMBER_ATTR(const) value* node::as_string() noexcept { return nullptr; } TOML_MEMBER_ATTR(const) value* node::as_integer() noexcept { return nullptr; } TOML_MEMBER_ATTR(const) value* node::as_floating_point() noexcept { return nullptr; } TOML_MEMBER_ATTR(const) value* node::as_boolean() noexcept { return nullptr; } TOML_MEMBER_ATTR(const) value* node::as_date() noexcept { return nullptr; } TOML_MEMBER_ATTR(const) value