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.
In the other systems
| System | Port | Version |
|---|---|---|
| FreeBSD | devel/reflect-cpp | 0.26.2 |
| HardenedBSD | devel/reflect-cpp | 0.25.0 |
| GhostBSD | devel/reflect-cpp | 0.25.0 |
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.
| Repository | aarch64 | amd64 | armv6 | armv7 | i386 |
|---|---|---|---|---|---|
| FreeBSD:14:latest | 0.25.0 | 0.26.0 | - | - | 0.26.0 |
| FreeBSD:14:quarterly | 0.25.0 | 0.25.0 | n/a | - | 0.25.0 |
| FreeBSD:15:latest | 0.25.0 | 0.26.0 | n/a | - | - |
| FreeBSD:15:quarterly | 0.25.0 | 0.25.0 | n/a | n/a | n/a |
| FreeBSD:16:latest | 0.25.0 | 0.26.0 | n/a | n/a | n/a |
| FreeBSD:16:quarterly | n/a | n/a | n/a | n/a | n/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
| File | Size | SHA256 |
|---|---|---|
| getml-reflect-cpp-v0.26.2_GH0.tar.gz | 1.930764e+06 | 13dc48d2c24be297898d9ddcea0b32be8652ab9c7811e5540eb72db921d44da2 |