// Tencent is pleased to support the open source community by making RapidJSON available. // // Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. // // Licensed under the MIT License (the "License"); you may not use this file except // in compliance with the License. You may obtain a copy of the License at // // http://opensource.org/licenses/MIT // // Unless required by applicable law or agreed to in writing, software distributed // under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR // CONDITIONS OF ANY KIND, either express or implied. See the License for the // specific language governing permissions and limitations under the License. #ifndef RAPIDJSON_FWD_H_ #define RAPIDJSON_FWD_H_ #include "rapidjson.h" RAPIDJSON_NAMESPACE_BEGIN // encodings.h template<typename CharType> struct UTF8; template<typename CharType> struct UTF16; template<typename CharType> struct UTF16BE; template<typename CharType> struct UTF16LE; template<typename CharType> struct UTF32; template<typename CharType> struct UTF32BE; template<typename CharType> struct UTF32LE; template<typename CharType> struct ASCII; template<typename CharType> struct AutoUTF; template<typename SourceEncoding, typename TargetEncoding> struct Transcoder; // allocators.h class CrtAllocator; template <typename BaseAllocator> class MemoryPoolAllocator; // stream.h template <typename Encoding> struct GenericStringStream; typedef GenericStringStream<UTF8<char> > StringStream; template <typename Encoding> struct GenericInsituStringStream; typedef GenericInsituStringStream<UTF8<char> > InsituStringStream; // stringbuffer.h template <typename Encoding, typename Allocator> class GenericStringBuffer; typedef GenericStringBuffer<UTF8<char>, CrtAllocator> StringBuffer; // filereadstream.h class FileReadStream; // filewritestream.h class FileWriteStream; // memorybuffer.h template <typename Allocator> struct GenericMemoryBuffer; typedef GenericMemoryBuffer<CrtAllocator> MemoryBuffer; // memorystream.h struct MemoryStream; // reader.h template<typename Encoding, typename Derived> struct BaseReaderHandler; template <typename SourceEncoding, typename TargetEncoding, typename StackAllocator> class GenericReader; typedef GenericReader<UTF8<char>, UTF8<char>, CrtAllocator> Reader; // writer.h template<typename OutputStream, typename SourceEncoding, typename TargetEncoding, typename StackAllocator, unsigned writeFlags> class Writer; // prettywriter.h template<typename OutputStream, typename SourceEncoding, typename TargetEncoding, typename StackAllocator, unsigned writeFlags> class PrettyWriter; // document.h template <typename Encoding, typename Allocator> class GenericMember; template <bool Const, typename Encoding, typename Allocator> class GenericMemberIterator; template<typename CharType> struct GenericStringRef; template <typename Encoding, typename Allocator> class GenericValue; typedef GenericValue<UTF8<char>, MemoryPoolAllocator<CrtAllocator> > Value; template <typename Encoding, typename Allocator, typename StackAllocator> class GenericDocument; typedef GenericDocument<UTF8<char>, MemoryPoolAllocator<CrtAllocator>, CrtAllocator> Document; // pointer.h template <typename ValueType, typename Allocator> class GenericPointer; typedef GenericPointer<Value, CrtAllocator> Pointer; // schema.h template <typename SchemaDocumentType> class IGenericRemoteSchemaDocumentProvider; template <typename ValueT, typename Allocator> class GenericSchemaDocument; typedef GenericSchemaDocument<Value, CrtAllocator> SchemaDocument; typedef IGenericRemoteSchemaDocumentProvider<SchemaDocument> IRemoteSchemaDocumentProvider; template < typename SchemaDocumentType, typename OutputHandler, typename StateAllocator> class GenericSchemaValidator; typedef GenericSchemaValidator<SchemaDocument, BaseReaderHandler<UTF8<char>, void>, CrtAllocator> SchemaValidator; RAPIDJSON_NAMESPACE_END #endif // RAPIDJSON_RAPIDJSONFWD_H_