reflect-cpp

A C++20 library for fast serialization, deserialization and validation using reflection. Supports JSON, BSON, CBOR, flexbuffers, msgpack, TOML, XML, YAML / msgpack.org[C++20]

Latest version: 0.25.0

Add to xmake.lua

add_requires("reflect-cpp 0.25.0")

Learn how to add and link packages with Xmake →

Information

License
MIT
Recipe updated
2026-08-03T15:01:52.000Z

Platforms

  • android: armeabi, armeabi-v7a, arm64-v8a, riscv64, x86, x86_64, mips, mip64
  • msys: i386, x86_64
  • mingw: i386, x86_64, arm, arm64
  • windows: x86, x64, arm, arm64, arm64ec
  • linux: i386, x86_64, armv7, armv7s, arm64, mips, mips64, mipsel, mips64el, loong64, riscv64, s390x, ppc, ppc64, ppc64el, sparc64
  • bsd: i386, x86_64, arm, arm64, ppc, ppc64, ppc64el, riscv64, sparc64
  • harmony: armeabi-v7a, arm64-v8a, x86, x86_64
  • cross: i386, x86_64, arm, armv7, arm64, mips, mips64, mips64el, riscv, riscv64, loong64, s390x, ppc, ppc64, ppc64el, sh4, sparc64
  • wasm: wasm32, wasm64
  • iphoneos: arm64, x86_64
  • macosx: x86_64, arm64

Options

bson
Enable Bson Support. · Type: boolean · Default: false
capnproto
Enable Capnproto Support. · Type: boolean · Default: false
cbor
Enable Cbor Support. · Type: boolean · Default: false
flatbuffers
Enable Flexbuffers Support. · Type: boolean · Default: false
msgpack
Enable Msgpack Support. · Type: boolean · Default: false
toml
Enable Toml Support. · Type: boolean · Default: false
ubjson
Enable UBJSON Support. · Type: boolean · Default: false
xml
Enable Xml Support. · Type: boolean · Default: false
yaml
Enable Yaml Support. · Type: boolean · Default: false
yyjson
Enable yyjson Support. · Type: boolean · Default: true

Versions

  • v0.10.0
  • v0.11.1
  • v0.12.0
  • v0.13.0
  • v0.14.0
  • v0.14.1
  • v0.16.0
  • v0.17.0
  • v0.18.0
  • v0.19.0
  • v0.20.0
  • v0.22.0
  • v0.24.0
  • v0.25.0

Dependencies

No dependencies declared.

Used by (1)

Packages declaring this dependency; requirements can vary by platform and configuration.

Install with xrepo

Install the package independently of a project and inspect its available configuration.

install

xrepo install "reflect-cpp 0.25.0"

show info

xrepo info "reflect-cpp"

Link a library to your target

Declare the requirement, then attach the library to the target that uses it.

xmake.lua

add_requires("reflect-cpp 0.25.0")

target("demo")
    set_kind("binary")
    add_files("src/*.cpp")
    add_packages("reflect-cpp")

Open a package environment

Open a shell with the environment exported by this package. Use the executable names documented by the package.

enter shell

xrepo env -b "reflect-cpp 0.25.0" shell