template <typename DerivedT>
class JsonWriter
Defined at line 29 of file ../../tools/fidl/fidlc/src/json_writer.h
|JsonWriter| requires the derived type as a template parameter so it can
match methods declared with parameter overrides in the derived class.
Public Members
DerivedT & self
Public Methods
void JsonWriter<DerivedT> (std::ostream & os, int indent_level)
Defined at line 31 of file ../../tools/fidl/fidlc/src/json_writer.h
void ~JsonWriter<DerivedT> ()
Defined at line 34 of file ../../tools/fidl/fidlc/src/json_writer.h
template <typename Iterator>
void GenerateArray (Iterator begin, Iterator end)
Defined at line 37 of file ../../tools/fidl/fidlc/src/json_writer.h
template <typename Collection>
void GenerateArray (const Collection & collection)
Defined at line 60 of file ../../tools/fidl/fidlc/src/json_writer.h
template <typename T>
void Generate (const T * value)
Note that this overload will take precedence over Generate(const Base*)
when given a Derived* argument. To avoid that, you must either static_cast
to Base* or implement Generate(const Base
&
).
Defined at line 68 of file ../../tools/fidl/fidlc/src/json_writer.h
template <typename T>
void Generate (const std::unique_ptr<T> & value)
Defined at line 73 of file ../../tools/fidl/fidlc/src/json_writer.h
template <typename T>
void Generate (const std::shared_ptr<T> & value)
Defined at line 78 of file ../../tools/fidl/fidlc/src/json_writer.h
template <typename T>
void Generate (const std::vector<T> & value)
Defined at line 83 of file ../../tools/fidl/fidlc/src/json_writer.h
template <typename T>
void Generate (const std::set<T> & value)
Defined at line 88 of file ../../tools/fidl/fidlc/src/json_writer.h
void Generate (bool value)
Defined at line 92 of file ../../tools/fidl/fidlc/src/json_writer.h
void Generate (std::string_view value)
Defined at line 94 of file ../../tools/fidl/fidlc/src/json_writer.h
void Generate (std::string value)
Defined at line 96 of file ../../tools/fidl/fidlc/src/json_writer.h
void Generate (uint32_t value)
Defined at line 98 of file ../../tools/fidl/fidlc/src/json_writer.h
void Generate (int64_t value)
Defined at line 99 of file ../../tools/fidl/fidlc/src/json_writer.h
void Generate (uint64_t value)
Defined at line 100 of file ../../tools/fidl/fidlc/src/json_writer.h
void ResetIndentLevel ()
Defined at line 102 of file ../../tools/fidl/fidlc/src/json_writer.h
void Indent ()
Defined at line 104 of file ../../tools/fidl/fidlc/src/json_writer.h
void Outdent ()
Defined at line 106 of file ../../tools/fidl/fidlc/src/json_writer.h
Protected Methods
void GenerateEOF ()
Defined at line 131 of file ../../tools/fidl/fidlc/src/json_writer.h
void GenerateObjectPunctuation (Position position)
Defined at line 133 of file ../../tools/fidl/fidlc/src/json_writer.h
void GenerateObject (fit::closure callback)
Defined at line 145 of file ../../tools/fidl/fidlc/src/json_writer.h
template <typename Type>
void GenerateObjectMember (std::string_view key, const Type & value, Position position)
Defined at line 161 of file ../../tools/fidl/fidlc/src/json_writer.h
void EmitBoolean (bool value, ConstantStyle style)
Defined at line 168 of file ../../tools/fidl/fidlc/src/json_writer.h
void EmitString (std::string_view value)
Defined at line 182 of file ../../tools/fidl/fidlc/src/json_writer.h
void EmitLiteral (std::string_view value)
Emits a string literal given its raw FIDL source.
Defined at line 220 of file ../../tools/fidl/fidlc/src/json_writer.h
template <typename T>
void EmitNumeric (T value, ConstantStyle style)
Defined at line 261 of file ../../tools/fidl/fidlc/src/json_writer.h
void EmitNewline ()
Defined at line 277 of file ../../tools/fidl/fidlc/src/json_writer.h
void EmitNewlineWithIndent ()
Defined at line 279 of file ../../tools/fidl/fidlc/src/json_writer.h
void EmitObjectBegin ()
Defined at line 286 of file ../../tools/fidl/fidlc/src/json_writer.h
void EmitObjectSeparator ()
Defined at line 288 of file ../../tools/fidl/fidlc/src/json_writer.h
void EmitObjectEnd ()
Defined at line 293 of file ../../tools/fidl/fidlc/src/json_writer.h
void EmitObjectKey (std::string_view key)
Defined at line 295 of file ../../tools/fidl/fidlc/src/json_writer.h
void EmitArrayBegin ()
Defined at line 300 of file ../../tools/fidl/fidlc/src/json_writer.h
void EmitArraySeparator ()
Defined at line 302 of file ../../tools/fidl/fidlc/src/json_writer.h
void EmitArrayEnd ()
Defined at line 307 of file ../../tools/fidl/fidlc/src/json_writer.h
Enumerations
enum Position
| Name | Value |
|---|---|
| kFirst | 0 |
| kSubsequent | 0 |
Defined at line 118 of file ../../tools/fidl/fidlc/src/json_writer.h
enum ConstantStyle
| Name | Value |
|---|---|
| kAsConstant | 0 |
| kAsString | 0 |
ConstantStyle indicates whether the constant value to be emitted should be
directly placed in the JSON output, or whether is must be wrapped in a
string.
Defined at line 126 of file ../../tools/fidl/fidlc/src/json_writer.h