152 lines
3.9 KiB
C
152 lines
3.9 KiB
C
|
// 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. All rights reserved.
|
||
|
//
|
||
|
// 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>
|
||
|
struct 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_
|