fwd.h 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  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. #ifndef RAPIDJSON_FWD_H_
  15. #define RAPIDJSON_FWD_H_
  16. #include "rapidjson.h"
  17. RAPIDJSON_NAMESPACE_BEGIN
  18. // encodings.h
  19. template<typename CharType> struct UTF8;
  20. template<typename CharType> struct UTF16;
  21. template<typename CharType> struct UTF16BE;
  22. template<typename CharType> struct UTF16LE;
  23. template<typename CharType> struct UTF32;
  24. template<typename CharType> struct UTF32BE;
  25. template<typename CharType> struct UTF32LE;
  26. template<typename CharType> struct ASCII;
  27. template<typename CharType> struct AutoUTF;
  28. template<typename SourceEncoding, typename TargetEncoding>
  29. struct Transcoder;
  30. // allocators.h
  31. class CrtAllocator;
  32. template <typename BaseAllocator>
  33. class MemoryPoolAllocator;
  34. // stream.h
  35. template <typename Encoding>
  36. struct GenericStringStream;
  37. typedef GenericStringStream<UTF8<char> > StringStream;
  38. template <typename Encoding>
  39. struct GenericInsituStringStream;
  40. typedef GenericInsituStringStream<UTF8<char> > InsituStringStream;
  41. // stringbuffer.h
  42. template <typename Encoding, typename Allocator>
  43. class GenericStringBuffer;
  44. typedef GenericStringBuffer<UTF8<char>, CrtAllocator> StringBuffer;
  45. // filereadstream.h
  46. class FileReadStream;
  47. // filewritestream.h
  48. class FileWriteStream;
  49. // memorybuffer.h
  50. template <typename Allocator>
  51. struct GenericMemoryBuffer;
  52. typedef GenericMemoryBuffer<CrtAllocator> MemoryBuffer;
  53. // memorystream.h
  54. struct MemoryStream;
  55. // reader.h
  56. template<typename Encoding, typename Derived>
  57. struct BaseReaderHandler;
  58. template <typename SourceEncoding, typename TargetEncoding, typename StackAllocator>
  59. class GenericReader;
  60. typedef GenericReader<UTF8<char>, UTF8<char>, CrtAllocator> Reader;
  61. // writer.h
  62. template<typename OutputStream, typename SourceEncoding, typename TargetEncoding, typename StackAllocator, unsigned writeFlags>
  63. class Writer;
  64. // prettywriter.h
  65. template<typename OutputStream, typename SourceEncoding, typename TargetEncoding, typename StackAllocator, unsigned writeFlags>
  66. class PrettyWriter;
  67. // document.h
  68. template <typename Encoding, typename Allocator>
  69. struct GenericMember;
  70. template <bool Const, typename Encoding, typename Allocator>
  71. class GenericMemberIterator;
  72. template<typename CharType>
  73. struct GenericStringRef;
  74. template <typename Encoding, typename Allocator>
  75. class GenericValue;
  76. typedef GenericValue<UTF8<char>, MemoryPoolAllocator<CrtAllocator> > Value;
  77. template <typename Encoding, typename Allocator, typename StackAllocator>
  78. class GenericDocument;
  79. typedef GenericDocument<UTF8<char>, MemoryPoolAllocator<CrtAllocator>, CrtAllocator> Document;
  80. // pointer.h
  81. template <typename ValueType, typename Allocator>
  82. class GenericPointer;
  83. typedef GenericPointer<Value, CrtAllocator> Pointer;
  84. // schema.h
  85. template <typename SchemaDocumentType>
  86. class IGenericRemoteSchemaDocumentProvider;
  87. template <typename ValueT, typename Allocator>
  88. class GenericSchemaDocument;
  89. typedef GenericSchemaDocument<Value, CrtAllocator> SchemaDocument;
  90. typedef IGenericRemoteSchemaDocumentProvider<SchemaDocument> IRemoteSchemaDocumentProvider;
  91. template <
  92. typename SchemaDocumentType,
  93. typename OutputHandler,
  94. typename StateAllocator>
  95. class GenericSchemaValidator;
  96. typedef GenericSchemaValidator<SchemaDocument, BaseReaderHandler<UTF8<char>, void>, CrtAllocator> SchemaValidator;
  97. RAPIDJSON_NAMESPACE_END
  98. #endif // RAPIDJSON_RAPIDJSONFWD_H_