diff options
author | Petr Mrázek <peterix@gmail.com> | 2015-09-23 01:21:19 +0200 |
---|---|---|
committer | Petr Mrázek <peterix@gmail.com> | 2015-09-23 01:21:19 +0200 |
commit | 5d5bee49928e36d552c8df62bb820af82bd24032 (patch) | |
tree | b369d566368f1622ae2fd3a2b2c0021a4aa7b5b1 /depends/libnbtplusplus/include/value_initializer.h | |
parent | e60a652b78af8f985862da726898291f807ae058 (diff) | |
download | PrismLauncher-5d5bee49928e36d552c8df62bb820af82bd24032.tar.gz PrismLauncher-5d5bee49928e36d552c8df62bb820af82bd24032.tar.bz2 PrismLauncher-5d5bee49928e36d552c8df62bb820af82bd24032.zip |
GH-1238 re-integrate nbt library
Diffstat (limited to 'depends/libnbtplusplus/include/value_initializer.h')
-rw-r--r-- | depends/libnbtplusplus/include/value_initializer.h | 67 |
1 files changed, 0 insertions, 67 deletions
diff --git a/depends/libnbtplusplus/include/value_initializer.h b/depends/libnbtplusplus/include/value_initializer.h deleted file mode 100644 index 5cda58cd..00000000 --- a/depends/libnbtplusplus/include/value_initializer.h +++ /dev/null @@ -1,67 +0,0 @@ -/* - * libnbt++ - A library for the Minecraft Named Binary Tag format. - * Copyright (C) 2013, 2015 ljfa-ag - * - * This file is part of libnbt++. - * - * libnbt++ is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * libnbt++ is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with libnbt++. If not, see <http://www.gnu.org/licenses/>. - */ -#ifndef VALUE_INITIALIZER_H_INCLUDED -#define VALUE_INITIALIZER_H_INCLUDED - -#include "value.h" - -#include "nbt++_export.h" - -namespace nbt -{ - -/** - * @brief Helper class for implicitly constructing value objects - * - * This type is a subclass of @ref value. However the only difference to value - * is that this class has additional constructors which allow implicit - * conversion of various types to value objects. These constructors are not - * part of the value class itself because implicit conversions like this - * (especially from @c tag&& to @c value) can cause problems and ambiguities - * in some cases. - * - * value_initializer is especially useful as function parameter type, it will - * allow convenient conversion of various values to tags on function call. - * - * As value_initializer objects are in no way different than value objects, - * they can just be converted to value after construction. - */ -class NBT___EXPORT value_initializer : public value -{ -public: - value_initializer(std::unique_ptr<tag>&& t) noexcept: value(std::move(t)) {} - value_initializer(std::nullptr_t) noexcept : value(nullptr) {} - value_initializer(value&& val) noexcept : value(std::move(val)) {} - value_initializer(tag&& t) : value(std::move(t)) {} - - value_initializer(int8_t val); - value_initializer(int16_t val); - value_initializer(int32_t val); - value_initializer(int64_t val); - value_initializer(float val); - value_initializer(double val); - value_initializer(const std::string& str); - value_initializer(std::string&& str); - value_initializer(const char* str); -}; - -} - -#endif // VALUE_INITIALIZER_H_INCLUDED |