# rttrorg/rttr

C++ Reflection Library

Repository: https://github.com/rttrorg/rttr
Canonical: https://ross.abutalabs.com/products/rttr
Homepage: https://www.rttr.org
Language: C++
License: MIT
License Family: permissive
Topics: reflection, introspection, serialization, properties, c-plus-plus, cplusplus-11, cmake, library
Last push: 2024-04-25T13:07:08+00:00

## Health v2 (maintenance only)
Score: 23/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 0, release rhythm 8, longevity 100
- inputs: {"age_days": 3914, "days_push": 860, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 3484, forks 490 (observed 2026-08-28T04:08:06.964595+00:00)

## What it is
RTTR (Run Time Type Reflection) is an open-source C++ library that adds runtime reflection, letting programs introspect and modify objects' properties, methods, and constructors at runtime. Types are registered manually via macros and can then be queried, constructed, and manipulated dynamically without header access.

## Use cases
- add runtime reflection to C++ classes
- serialize objects dynamically
- bind C++ types to scripting languages like Lua or JavaScript
- create UI from class metadata
- enumerate derived classes of a base type
- construct objects by type name without headers
- build plugin systems without common base interfaces

## When to choose
- you need runtime reflection in C++11 or later
- you want manual control over what reflection metadata is registered
- you need to work with types whose headers are unavailable, e.g. plugins
- you want fast compile times when changing registrations

## When to avoid
- you only need compile-time introspection available via modern C++ or static reflection
- you want automatic registration without macros or manual code
- your project does not use C++

## Facets
- artifact type: library
- maturity: stable
- function: serialization, plugin-system
- domain: developer-tools, programming-languages
- platform: cpp, cross-platform
- tags: reflection, introspection, runtime-type-information, c-plus-plus-11, variant, script-binding, game-development, cmake

## Member repositories
- rttrorg/rttr (main) score 23

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:08:06.964595+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T18:36:25.358278+00:00, confidence not recorded.
  - readme: https://github.com/rttrorg/rttr (fetched 2026-08-28T04:08:06.964595+00:00, sha 257daeeed194)
  - homepage: https://www.rttr.org (fetched 2026-08-29T09:30:19.207002+00:00, sha 90a147aca248)
  - site_page: https://www.rttr.org/about (fetched 2026-08-29T09:30:19.217908+00:00, sha 469673156fca)
  - site_page: https://www.rttr.org/faq (fetched 2026-08-29T09:30:19.216062+00:00, sha 1840489231c2)
- Data as of 2026-08-30T08:39:29.467469+00:00.
