33## Before you get started
44
55Before diving into the FlatBuffers usage in C++, it should be noted that
6- the [ Tutorial] (@ ref flatbuffers_guide_tutorial ) page has a complete guide
6+ the [ Tutorial] ( ../tutorial.md ) page has a complete guide
77to general FlatBuffers usage in all of the supported languages (including C++).
88This page is designed to cover the nuances of FlatBuffers usage, specific to
99C++.
1212
1313This page assumes you have written a FlatBuffers schema and compiled it
1414with the Schema Compiler. If you have not, please see
15- [ Using the schema compiler] (@ ref flatbuffers_guide_using_schema_compiler )
16- and [ Writing a schema] (@ ref flatbuffers_guide_writing_schema ).
15+ [ Using the schema compiler] ( ../flatc.md )
16+ and [ Writing a schema] ( ../schema.md ) .
1717
1818Assuming you wrote a schema, say ` mygame.fbs ` (though the extension doesn't
1919matter), you've generated a C++ header called ` mygame_generated.h ` using the
@@ -34,15 +34,15 @@ The test code itself is located in
3434[ test.cpp] ( https://github.com/google/flatbuffers/blob/master/tests/test.cpp ) .
3535
3636This test file is built alongside ` flatc ` . To review how to build the project,
37- please read the [ Building] (@ ref flatbuffers_guide_building ) documentation.
37+ please read the [ Building] ( ../building.md ) documentation.
3838
3939To run the tests, execute ` flattests ` from the root ` flatbuffers/ ` directory.
4040For example, on [ Linux] ( https://en.wikipedia.org/wiki/Linux ) , you would simply
4141run: ` ./flattests ` .
4242
4343## Using the FlatBuffers C++ library
4444
45- * Note: See [ Tutorial] (@ ref flatbuffers_guide_tutorial ) for a more in-depth
45+ * Note: See [ Tutorial] ( ../tutorial.md ) for a more in-depth
4646example of how to use FlatBuffers in C++.*
4747
4848FlatBuffers supports both reading and writing FlatBuffers in C++.
@@ -261,7 +261,7 @@ using hashes which are then represented as typed pointers in the object API.
261261
262262To make this work have a field in the objects you want to referred to which is
263263using the string hashing feature (see ` hash ` attribute in the
264- [ schema](@ref flatbuffers_guide_writing_schema ) documentation). Then you have
264+ [ schema](../schema.md ) documentation). Then you have
265265a similar hash in the field referring to it, along with a `cpp_type`
266266attribute specifying the C++ type this will refer to (this can be any C++
267267type, and will get a ` * ` added).
@@ -555,11 +555,11 @@ recursion depth. Number of nested declarations in a schema or number of
555555nested json-objects is limited. By default, this depth limit set to ` 64 ` .
556556It is possible to override this limit with ` FLATBUFFERS_MAX_PARSING_DEPTH `
557557definition. This definition can be helpful for testing purposes or embedded
558- applications. For details see [ build] (@ ref flatbuffers_guide_building ) of
558+ applications. For details see [ build] ( ../building.md ) of
559559CMake-based projects.
560560
561561## Dependence from C-locale {#flatbuffers_locale_cpp}
562- The Flatbuffers [ grammar] (@ ref flatbuffers grammar) uses ASCII
562+ The Flatbuffers [ grammar] ( ../ grammar.md ) uses ASCII
563563character set for identifiers, alphanumeric literals, reserved words.
564564
565565Internal implementation of the Flatbuffers depends from functions which
@@ -602,7 +602,7 @@ compatible with the `IEEE-754` floating-point standard.
602602The schema and json parser may fail if ` fast-math ` or ` /fp:fast ` mode is active.
603603
604604### Support of hexadecimal and special floating-point numbers
605- According to the [ grammar] (@ ref flatbuffers_grammar ) ` fbs ` and ` json ` files
605+ According to the [ grammar] ( ../grammar.md ) ` fbs ` and ` json ` files
606606may use hexadecimal and special (` NaN ` , ` Inf ` ) floating-point literals.
607607The Flatbuffers uses ` strtof ` and ` strtod ` functions to parse floating-point
608608literals. The Flatbuffers library has a code to detect a compiler compatibility
@@ -625,7 +625,7 @@ According to the `IEEE-754`, a comparison with `NaN` always returns
625625an unordered result even when compared with itself. As a result, a whole
626626Flatbuffers object will be not equal to itself if has one or more ` NaN ` .
627627Flatbuffers scalar fields that have the default value are not actually stored
628- in the serialized data but are generated in code (see [ Writing a schema] (@ ref flatbuffers_guide_writing_schema )).
628+ in the serialized data but are generated in code (see [ Writing a schema] ( ../schema.md ) ).
629629Scalar fields with ` NaN ` defaults break this behavior.
630630If a schema has a lot of ` NaN ` defaults the Flatbuffers can override
631631the unordered comparison by the ordered: ` (NaN==NaN)->true ` .
0 commit comments