Skip to content

1.2. Overview: How To...

Justin F edited this page Mar 2, 2023 · 22 revisions

Reflecting Members:

Notes / Annotations:

Reflecting Inheritance:

Reflecting Functions:

Reflecting Overloads:

Misc:

Adaptive Structures:

RareBuilder:

RareMapper:

RareJson:

Define, iterate & modify class members

Access class members by constexpr index

Access class members by runtime index

Access class members by name

Get member access protection modifier

Get member metadata using identifier

Pack & fold class members

Filter members using constexpr ifs

Filter members using RareCpp filtering

Member annotations

Class-level annotations

Anonymous annotations

Notes has/get/forEach

Filtered notes has/get/forEach

Define & iterate super-classes

Access super-class by constexpr index

Access super-class by runtime index

Traversing inheritance trees

Define, iterate & call functions

Get argument & return types

Iteratively build arguments & call function

Define, iterate & call overloads

Access known overload by constexpr index

Access known overload by runtime index

Pack known overloads

Access unknown overload (non-noted argument set)

Working with cv-ref qualified overloads

Type toStr

Runtime to constexpr index

White-box testing

Making tuples

Clone reflected structure

Typedefs per reflected structure member

Implementing whiteboxer/reference structure

Implementing builders

Implementing change-listeners

Implementing object-mappers

Simple builder

Validated builders

Aggregated builders

Trivial mapping

Custom-field mapping

Using standard mappings

Basic JSON I/O

JSON customization

Unknown fields

Clone this wiki locally