//////////////////////////////////////////////////////////////////////// // Copyright (c) Nehmulos 2011-2014 // This file is part of N0 Strain Serialization Library. // // N0Strain-Serialization-Library 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. // // N0Strain-Serialization-Library 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 N0Strain-Serialization-Library. If not, see https://gnu.org/licenses/lgpl-3.0 //////////////////////////////////////////////////////////////////////// #ifndef N0Slib_CONSTANTS_H_ #define N0Slib_CONSTANTS_H_ #include "PlatformDetection.h" #include #define N0Slib_Name "N0Slib" #define N0Slib_Version 2.0.0 #define N0Slib_Version_String "beta preview Nr. 2" /// Written at the beginning and end of each Binary file #define N0Slib_Binary_ValidationBytes "n0slib" /// Default Mother Tag Name #define N0Ware_Default_MotherTagName "N0Slib" ///Encoding types #define N0Slib_BinaryToTextEncoding_EncodingTagName "encoding" ///< Used as Tagname #define N0Slib_BinaryToTextEncoding_ValueTagName "value" ///< Used as Tagname #define N0Slib_BinaryToTextEncoding_Hexadecimal "hex" #define N0Slib_BinaryToTextEncoding_Base64 "base64" #define N0Slib_BinaryToTextEncoding_Base95 "basE95" #define N0Slib_BinaryToTextEncoding_Default N0Slib_BinaryToTextEncoding_Base64 #define N0Slib_UndefinedPointerId 0xFFFFFFFF namespace nw { /// @return true if @c is a blank, newline, or tab. #define nwIsSeparator(c) (c == ' ' || c == '\n' || c == '\t') // Types typedef std::string ClassId; //TODO make sure it's compiler and CPU independent typedef void*& Pointer; //typedef std::basic_string String16; //typedef std::basic_string String32; typedef std::string String; typedef struct { String nameOfElements; String nameOfArray; unsigned int size; bool isValueArray; } MetaArray; // Classes class BinaryFstream; class BinaryReader; class BinaryWriter; class Describer; class DescribedObject; class MarkupReader; class JsonReader; class JsonDrooler; class XmlReader; class XmlWriter; } // namespace Nw #endif /* N0Slib_CONSTANTS_H_ */