mirror of
https://github.com/Tencent/rapidjson.git
synced 2025-03-06 13:41:35 +01:00
Add skeleton of documents
This commit is contained in:
parent
96882f4977
commit
3f3f847036
17
doc/dom.md
Normal file
17
doc/dom.md
Normal file
@ -0,0 +1,17 @@
|
||||
# RapidJSON DOM
|
||||
|
||||
## Template
|
||||
|
||||
### Encoding
|
||||
|
||||
### Allocator
|
||||
|
||||
## Parsing
|
||||
|
||||
### Parse Error
|
||||
|
||||
### In situ Parsing
|
||||
|
||||
## Techniques
|
||||
|
||||
### DOM as SAX Generator
|
9
doc/encoding.md
Normal file
9
doc/encoding.md
Normal file
@ -0,0 +1,9 @@
|
||||
# RapidJSON Encoding
|
||||
|
||||
## Unicode
|
||||
|
||||
### Character Type
|
||||
|
||||
### UTF
|
||||
|
||||
## Validation & Transcoding
|
84
doc/faq.md
Normal file
84
doc/faq.md
Normal file
@ -0,0 +1,84 @@
|
||||
# RapidJSON FAQ
|
||||
|
||||
## General
|
||||
|
||||
1. What is RapidJSON?
|
||||
|
||||
RapidJSON is a C++ library for parsing and generating JSON. You may check all [features](features.md) of it.
|
||||
|
||||
2. Why is it named so?
|
||||
|
||||
It is inspired by [RapidXML](http://rapidxml.sourceforge.net/), which is a fast XML DOM parser. RapidJSON borrowed some designs of RapidXML, including *in situ* parsing, header-only library, and more.
|
||||
|
||||
3. Is it similar to RapidXML?
|
||||
4. Is it free?
|
||||
5. Is it small? What are its dependencies?
|
||||
6. How to install RapidJSON?
|
||||
7. Can it run on my platform?
|
||||
8. Does it support C++03? C++11?
|
||||
9. Does it really work in real applications?
|
||||
10. How it is tested?
|
||||
11. Is it well documented?
|
||||
12. Are there alternatives?
|
||||
|
||||
## JSON
|
||||
|
||||
1. What is JSON?
|
||||
2. What is application of JSON?
|
||||
2. Does RapidJSON conform to the JSON standard?
|
||||
3. Does RapidJSON support relaxed syntax?
|
||||
|
||||
## DOM and SAX
|
||||
|
||||
1. What is DOM style API?
|
||||
2. What is SAX style API?
|
||||
3. Should I choose DOM or SAX?
|
||||
4. What is *in situ* parsing?
|
||||
5. When will parsing generates an error?
|
||||
6. What error information is provided?
|
||||
7. Why not just using `double` to represent JSON number?
|
||||
|
||||
## Document/Value (DOM)
|
||||
|
||||
1. What is move semantics? Why?
|
||||
2. How to copy a value?
|
||||
3. Why do I need to provide the length of string?
|
||||
4. Why do I need to provide allocator in many DOM manipulation API?
|
||||
5. Does it convert between numerical types?
|
||||
|
||||
## Reader/Writer (SAX)
|
||||
|
||||
1. Why not just `printf` a JSON? Why need a `Writer`?
|
||||
2. Why can't I parse a JSON which is just a number?
|
||||
3. Can I pause the parsing process and resume it later?
|
||||
|
||||
## Unicode
|
||||
|
||||
1. Does it support UTF-8, UTF-16 and other format?
|
||||
2. Can it validate the encoding?
|
||||
3. What is surrogate pair? Does RapidJSON support it?
|
||||
4. Can it handle '\u0000' (null character) in JSON string?
|
||||
5. Can I output '\uxxxx' for all non-ASCII character?
|
||||
|
||||
## Stream
|
||||
|
||||
1. I have a big JSON file. Should I load the whole file to memory?
|
||||
2. Can I parse JSON while it is streamed from network?
|
||||
3. I don't know what format will the JSON be. How to handle them?
|
||||
4. What is BOM? How RapidJSON handle it?
|
||||
5. Why little/big endian is related?
|
||||
|
||||
## Performance
|
||||
|
||||
1. Is RapidJSON really fast?
|
||||
2. Why is it fast?
|
||||
3. What is SIMD? How it is applied in RapidJSON?
|
||||
4. Does it consume a lot of memory?
|
||||
5. What is the purpose of being high performance?
|
||||
|
||||
## Gossip
|
||||
|
||||
1. Who are the developers of RapidJSON?
|
||||
2. Why do you develop RapidJSON?
|
||||
3. Why there is a long empty period of development?
|
||||
4. Why did the repository move from Google Code to GitHub?
|
21
doc/internals.md
Normal file
21
doc/internals.md
Normal file
@ -0,0 +1,21 @@
|
||||
# RapidJSON Internals
|
||||
|
||||
This section records some design and implementation details.
|
||||
|
||||
# Value
|
||||
|
||||
## Data Layout
|
||||
|
||||
## Flags
|
||||
|
||||
# Allocator
|
||||
|
||||
## MemoryPoolAllocator
|
||||
|
||||
# Parsing Optimization
|
||||
|
||||
## Skip Whitespace with SIMD
|
||||
|
||||
## Pow10()
|
||||
|
||||
## Local Stream Copy
|
11
doc/sax.md
Normal file
11
doc/sax.md
Normal file
@ -0,0 +1,11 @@
|
||||
# RapidJSON SAX
|
||||
|
||||
## Reader
|
||||
|
||||
### Handler
|
||||
|
||||
### Parse Error
|
||||
|
||||
## Writer
|
||||
|
||||
### PrettyWriter
|
@ -431,6 +431,6 @@ This tutorial shows the basics of DOM tree query and manipulation. There are sev
|
||||
3. [DOM](dom.md)'s basics are already covered in this tutorial. Uncover more advanced features such as *in situ* parsing, other parsing options and advanced usages.
|
||||
4. [SAX](sax.md) is the foundation of parsing/generating facility in RapidJSON. Learn how to use `Reader`/`Writer` to implement even faster applications. Also try `PrettyWriter` to format the JSON.
|
||||
5. [Performance](performance.md) shows some in-house and third-party benchmarks.
|
||||
6. [Implementation](implementation.md) describes some internal designs and techniques of RapidJSON.
|
||||
6. [Internals](internals.md) describes some internal designs and techniques of RapidJSON.
|
||||
|
||||
You may also refer to the FAQ, API documentation, examples and unit tests.
|
||||
|
Loading…
x
Reference in New Issue
Block a user