//# This file is a part of toml++ and is subject to the the terms of the MIT license. //# Copyright (c) 2019-2020 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_PUSH_WARNINGS TOML_DISABLE_SUGGEST_WARNINGS namespace toml { 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= (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