template <bool IsRecursive>

class RecursionDepth

Defined at line 55 of file ../../sdk/lib/fidl/cpp/wire/include/lib/fidl/cpp/wire/wire_coding_common.h

Recursion depth calculator and checker.

The false template instantiation performs no checks.

Skipping these checks has a significant code size impact.

TODO(https://fxbug.dev/42051114) Explore further recursion depth optimizations.

Public Methods

void RecursionDepth<IsRecursive> (const RecursionDepth<IsRecursive> & )

Defined at line 57 of file ../../sdk/lib/fidl/cpp/wire/include/lib/fidl/cpp/wire/wire_coding_common.h

void RecursionDepth<IsRecursive> (RecursionDepth<IsRecursive> && )

Defined at line 58 of file ../../sdk/lib/fidl/cpp/wire/include/lib/fidl/cpp/wire/wire_coding_common.h

RecursionDepth<IsRecursive> & operator= (const RecursionDepth<IsRecursive> & )

Defined at line 59 of file ../../sdk/lib/fidl/cpp/wire/include/lib/fidl/cpp/wire/wire_coding_common.h

RecursionDepth<IsRecursive> & operator= (RecursionDepth<IsRecursive> && )

Defined at line 60 of file ../../sdk/lib/fidl/cpp/wire/include/lib/fidl/cpp/wire/wire_coding_common.h

RecursionDepth<IsRecursive> Initial ()

Defined at line 62 of file ../../sdk/lib/fidl/cpp/wire/include/lib/fidl/cpp/wire/wire_coding_common.h

template <typename Coder>
RecursionDepth<IsRecursive> Add (Coder * coder, size_t diff)

Defined at line 65 of file ../../sdk/lib/fidl/cpp/wire/include/lib/fidl/cpp/wire/wire_coding_common.h

bool IsValid ()

Defined at line 69 of file ../../sdk/lib/fidl/cpp/wire/include/lib/fidl/cpp/wire/wire_coding_common.h