BSD Ports

devel/reflect-cpp 0.26.2 FreeBSD

C++-20 library for fast serialization, deserialization and validation

System
FreeBSD
Repository
FreeBSD ports
Maintainer
[email protected]
Last update
Commit
b9939f8cd1
License
MIT
Categories
devel
Package size
430.8 KiB, 3106.1 KiB installed

Description

reflect-cpp is a C++-20/C++-26 library for fast serialization, deserialization and validation using reflection, similar to pydantic in Python, serde in Rust, encoding in Go or aeson in Haskell.

reflect-cpp fills an important gap in C++ development. It minimizes boilerplate code and enhances code safety for seamless and efficient data exchange across system components.

Design principles for reflect-cpp include:

  • Close integration with containers from the C++ standard library
  • Close adherence to C++ idioms
  • Out-of-the-box support for JSON
  • Simple installation
  • Simple extendability to other serialization formats
  • Simple extendability to custom classes
  • Being one of the fastest serialization libraries in existence, as demonstrated by our benchmarks

reflect-cpp is not just a reflection library, it is for serialization, deserialization and validation through reflection.

Install

Binary package:

pkg install reflect-cpp

From the ports tree:

cd /usr/ports/devel/reflect-cpp/ && make install clean

To depend on this port in another port's Makefile:

RUN_DEPENDS=	reflect-cpp>0:devel/reflect-cpp
LIB_DEPENDS=	libreflectcpp.so:devel/reflect-cpp

Packages

The version each package repository carries. “-” means the repository builds no package of it, “n/a” that there is no such repository.

Repositoryaarch64amd64armv6armv7i386
FreeBSD:14:latest0.25.00.25.0--0.26.0
FreeBSD:14:quarterly0.25.00.25.0n/a-0.25.0
FreeBSD:15:latest0.25.00.26.0n/a--
FreeBSD:15:quarterly0.25.00.25.0n/an/an/a
FreeBSD:16:latest0.25.00.26.0n/an/an/a
FreeBSD:16:quarterlyn/an/an/an/an/a

Dependencies

The Makefile names none itself; they come from USES and USE_*.

The full lists below include those, and their dependencies in turn.

Build dependencies 15

No port depends on this one.

Configuration

No options to configure.

USES
cmake:testing compiler:c++23-lang
Service scripts
none

Files

pkg-plist 533
  • include/rfl.hpp
  • include/rfl/AddStructName.hpp
  • include/rfl/AddTagsToVariants.hpp
  • include/rfl/AllOf.hpp
  • include/rfl/AllowRawPtrs.hpp
  • include/rfl/AnyOf.hpp
  • include/rfl/Attribute.hpp
  • include/rfl/Binary.hpp
  • include/rfl/Box.hpp
  • include/rfl/Bytestring.hpp
  • include/rfl/CamelCaseToSnakeCase.hpp
  • include/rfl/Commented.hpp
  • include/rfl/DefaultIfMissing.hpp
  • include/rfl/DefaultVal.hpp
  • include/rfl/Deprecated.hpp
  • include/rfl/Description.hpp
  • include/rfl/DurationsAsCount.hpp
  • include/rfl/EnumNamesOnly.hpp
  • include/rfl/ExtraFields.hpp
  • include/rfl/FailFast.hpp
  • include/rfl/Field.hpp
  • include/rfl/Flatten.hpp
  • include/rfl/Generic.hpp
  • include/rfl/Hex.hpp
  • include/rfl/Literal.hpp
  • include/rfl/MetaField.hpp
  • include/rfl/NamedTuple.hpp
  • include/rfl/NoExtraFields.hpp
  • include/rfl/NoFieldNames.hpp
  • include/rfl/NoOptionals.hpp
  • include/rfl/Object.hpp
  • include/rfl/Oct.hpp
  • include/rfl/OneOf.hpp
  • include/rfl/Pattern.hpp
  • include/rfl/PatternValidator.hpp
  • include/rfl/Positional.hpp
  • include/rfl/Processors.hpp
  • include/rfl/Ref.hpp
  • include/rfl/Rename.hpp
  • include/rfl/Result.hpp
  • include/rfl/Settings.hpp
  • include/rfl/Short.hpp
  • include/rfl/Size.hpp
  • include/rfl/Skip.hpp
  • include/rfl/SnakeCaseToCamelCase.hpp
  • include/rfl/SnakeCaseToKebabCase.hpp
  • include/rfl/SnakeCaseToPascalCase.hpp
  • include/rfl/TaggedUnion.hpp
  • include/rfl/Timestamp.hpp
  • include/rfl/ToAllCaps.hpp
  • include/rfl/Tuple.hpp
  • include/rfl/UnderlyingEnums.hpp
  • include/rfl/Validator.hpp
  • include/rfl/Variant.hpp
  • include/rfl/Vectorstring.hpp
  • include/rfl/always_false.hpp
  • include/rfl/apply.hpp
  • include/rfl/as.hpp
  • include/rfl/atomic/is_atomic.hpp
  • include/rfl/atomic/remove_atomic_t.hpp
  • include/rfl/atomic/set_atomic.hpp
  • include/rfl/avro.hpp
  • include/rfl/avro/Parser.hpp
  • include/rfl/avro/Reader.hpp
  • include/rfl/avro/Schema.hpp
  • include/rfl/avro/SchemaImpl.hpp
  • include/rfl/avro/Writer.hpp
  • include/rfl/avro/load.hpp
  • include/rfl/avro/read.hpp
  • include/rfl/avro/save.hpp
  • include/rfl/avro/schema/Type.hpp
  • include/rfl/avro/to_schema.hpp
  • include/rfl/avro/write.hpp
  • include/rfl/boost_serialization.hpp
  • include/rfl/boost_serialization/Parser.hpp
  • include/rfl/boost_serialization/Reader.hpp
  • include/rfl/boost_serialization/Writer.hpp
  • include/rfl/boost_serialization/load.hpp
  • include/rfl/boost_serialization/read.hpp
  • include/rfl/boost_serialization/save.hpp
  • include/rfl/boost_serialization/write.hpp
  • include/rfl/bson.hpp
  • include/rfl/bson/Parser.hpp
  • include/rfl/bson/Reader.hpp
  • include/rfl/bson/Writer.hpp
  • include/rfl/bson/load.hpp
  • include/rfl/bson/read.hpp
  • include/rfl/bson/save.hpp
  • include/rfl/bson/write.hpp
  • include/rfl/capnproto.hpp
  • include/rfl/capnproto/Parser.hpp
  • include/rfl/capnproto/Reader.hpp
  • include/rfl/capnproto/Schema.hpp
  • include/rfl/capnproto/SchemaImpl.hpp
  • include/rfl/capnproto/Writer.hpp
  • include/rfl/capnproto/get_root_name.hpp
  • include/rfl/capnproto/is_named_type.hpp
  • include/rfl/capnproto/load.hpp
  • include/rfl/capnproto/read.hpp
  • include/rfl/capnproto/save.hpp

The first 100 are listed.

distinfo 1
FileSizeSHA256
getml-reflect-cpp-v0.26.2_GH0.tar.gz1.930764e+0613dc48d2c24be297898d9ddcea0b32be8652ab9c7811e5540eb72db921d44da2

Commit history 2

DateCommitCreditsLog message
b9939f8cd1 Älven devel/reflect-cpp: Update 0.26.0 => 0.26.2
5571094fda Älven devel/reflect-cpp: Update 0.25.0 => 0.26.0