|
| 1 | +// Tencent is pleased to support the open source community by making RapidJSON available. |
| 2 | +// |
| 3 | +// Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. |
| 4 | +// |
| 5 | +// Licensed under the MIT License (the "License"); you may not use this file except |
| 6 | +// in compliance with the License. You may obtain a copy of the License at |
| 7 | +// |
| 8 | +// http://opensource.org/licenses/MIT |
| 9 | +// |
| 10 | +// Unless required by applicable law or agreed to in writing, software distributed |
| 11 | +// under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR |
| 12 | +// CONDITIONS OF ANY KIND, either express or implied. See the License for the |
| 13 | +// specific language governing permissions and limitations under the License. |
| 14 | + |
| 15 | +#ifndef RAPIDJSON_FWD_H_ |
| 16 | +#define RAPIDJSON_FWD_H_ |
| 17 | + |
| 18 | +#include "rapidjson.h" |
| 19 | + |
| 20 | +RAPIDJSON_NAMESPACE_BEGIN |
| 21 | + |
| 22 | +// encodings.h |
| 23 | + |
| 24 | +template<typename CharType> struct UTF8; |
| 25 | +template<typename CharType> struct UTF16; |
| 26 | +template<typename CharType> struct UTF16BE; |
| 27 | +template<typename CharType> struct UTF16LE; |
| 28 | +template<typename CharType> struct UTF32; |
| 29 | +template<typename CharType> struct UTF32BE; |
| 30 | +template<typename CharType> struct UTF32LE; |
| 31 | +template<typename CharType> struct ASCII; |
| 32 | +template<typename CharType> struct AutoUTF; |
| 33 | + |
| 34 | +template<typename SourceEncoding, typename TargetEncoding> |
| 35 | +struct Transcoder; |
| 36 | + |
| 37 | +// allocators.h |
| 38 | + |
| 39 | +class CrtAllocator; |
| 40 | + |
| 41 | +template <typename BaseAllocator> |
| 42 | +class MemoryPoolAllocator; |
| 43 | + |
| 44 | +// stream.h |
| 45 | + |
| 46 | +template <typename Encoding> |
| 47 | +struct GenericStringStream; |
| 48 | + |
| 49 | +typedef GenericStringStream<UTF8<char> > StringStream; |
| 50 | + |
| 51 | +template <typename Encoding> |
| 52 | +struct GenericInsituStringStream; |
| 53 | + |
| 54 | +typedef GenericInsituStringStream<UTF8<char> > InsituStringStream; |
| 55 | + |
| 56 | +// stringbuffer.h |
| 57 | + |
| 58 | +template <typename Encoding, typename Allocator> |
| 59 | +class GenericStringBuffer; |
| 60 | + |
| 61 | +typedef GenericStringBuffer<UTF8<char>, CrtAllocator> StringBuffer; |
| 62 | + |
| 63 | +// filereadstream.h |
| 64 | + |
| 65 | +class FileReadStream; |
| 66 | + |
| 67 | +// filewritestream.h |
| 68 | + |
| 69 | +class FileWriteStream; |
| 70 | + |
| 71 | +// memorybuffer.h |
| 72 | + |
| 73 | +template <typename Allocator> |
| 74 | +struct GenericMemoryBuffer; |
| 75 | + |
| 76 | +typedef GenericMemoryBuffer<CrtAllocator> MemoryBuffer; |
| 77 | + |
| 78 | +// memorystream.h |
| 79 | + |
| 80 | +struct MemoryStream; |
| 81 | + |
| 82 | +// reader.h |
| 83 | + |
| 84 | +template<typename Encoding, typename Derived> |
| 85 | +struct BaseReaderHandler; |
| 86 | + |
| 87 | +template <typename SourceEncoding, typename TargetEncoding, typename StackAllocator> |
| 88 | +class GenericReader; |
| 89 | + |
| 90 | +typedef GenericReader<UTF8<char>, UTF8<char>, CrtAllocator> Reader; |
| 91 | + |
| 92 | +// writer.h |
| 93 | + |
| 94 | +template<typename OutputStream, typename SourceEncoding, typename TargetEncoding, typename StackAllocator, unsigned writeFlags> |
| 95 | +class Writer; |
| 96 | + |
| 97 | +// prettywriter.h |
| 98 | + |
| 99 | +template<typename OutputStream, typename SourceEncoding, typename TargetEncoding, typename StackAllocator, unsigned writeFlags> |
| 100 | +class PrettyWriter; |
| 101 | + |
| 102 | +// document.h |
| 103 | + |
| 104 | +template <typename Encoding, typename Allocator> |
| 105 | +struct GenericMember; |
| 106 | + |
| 107 | +template <bool Const, typename Encoding, typename Allocator> |
| 108 | +class GenericMemberIterator; |
| 109 | + |
| 110 | +template<typename CharType> |
| 111 | +struct GenericStringRef; |
| 112 | + |
| 113 | +template <typename Encoding, typename Allocator> |
| 114 | +class GenericValue; |
| 115 | + |
| 116 | +typedef GenericValue<UTF8<char>, MemoryPoolAllocator<CrtAllocator> > Value; |
| 117 | + |
| 118 | +template <typename Encoding, typename Allocator, typename StackAllocator> |
| 119 | +class GenericDocument; |
| 120 | + |
| 121 | +typedef GenericDocument<UTF8<char>, MemoryPoolAllocator<CrtAllocator>, CrtAllocator> Document; |
| 122 | + |
| 123 | +// pointer.h |
| 124 | + |
| 125 | +template <typename ValueType, typename Allocator> |
| 126 | +class GenericPointer; |
| 127 | + |
| 128 | +typedef GenericPointer<Value, CrtAllocator> Pointer; |
| 129 | + |
| 130 | +// schema.h |
| 131 | + |
| 132 | +template <typename SchemaDocumentType> |
| 133 | +class IGenericRemoteSchemaDocumentProvider; |
| 134 | + |
| 135 | +template <typename ValueT, typename Allocator> |
| 136 | +class GenericSchemaDocument; |
| 137 | + |
| 138 | +typedef GenericSchemaDocument<Value, CrtAllocator> SchemaDocument; |
| 139 | +typedef IGenericRemoteSchemaDocumentProvider<SchemaDocument> IRemoteSchemaDocumentProvider; |
| 140 | + |
| 141 | +template < |
| 142 | + typename SchemaDocumentType, |
| 143 | + typename OutputHandler, |
| 144 | + typename StateAllocator> |
| 145 | +class GenericSchemaValidator; |
| 146 | + |
| 147 | +typedef GenericSchemaValidator<SchemaDocument, BaseReaderHandler<UTF8<char>, void>, CrtAllocator> SchemaValidator; |
| 148 | + |
| 149 | +RAPIDJSON_NAMESPACE_END |
| 150 | + |
| 151 | +#endif // RAPIDJSON_RAPIDJSONFWD_H_ |
0 commit comments