pfr/2.2.0

std::tuple like methods for user defined types without any macro or boilerplate code
Recipe info
2023-11-23

Available packages
Header Only

Install
Add the following line to your conanfile.txt:
[requires]
pfr/2.2.0

Using pfr

Note

If you are new with Conan, we recommend to read the section how to consume packages.

If you need additional assistance, please ask a question in the Conan Center Index repository.

Simplest use case consuming this recipe and assuming CMake as your local build tool:

[requires]
pfr/2.2.0
[generators]
CMakeDeps
CMakeToolchain
[layout]
cmake_layout
from conan import ConanFile
from conan.tools.cmake import cmake_layout


class ExampleRecipe(ConanFile):
    settings = "os", "compiler", "build_type", "arch"
    generators = "CMakeDeps", "CMakeToolchain"

    def requirements(self):
        self.requires("pfr/2.2.0")

    def layout(self):
        cmake_layout(self)

Now, you can run this Conan command to locally install (and build if necessary) this recipe and its dependencies (if any):

$ conan install conanfile.txt --build=missing

Useful information to take into account to consume this library:


These are the main declared targets:

  • CMake package name(s): pfr
  • CMake target name(s): pfr::pfr
  • pkg-config file name(s): pfr.pc

A simple use case using the CMake file name and the global target:

# ...
find_package(pfr REQUIRED)
# ...
target_link_libraries(YOUR_TARGET pfr::pfr)

These are all the available headers. Some of these ones might be non-public; make sure of it by visiting the pfr homepage listed above:

#include "boost/pfr.hpp"
#include "boost/pfr/config.hpp"
#include "boost/pfr/core.hpp"
#include "boost/pfr/core_name.hpp"
#include "boost/pfr/detail/cast_to_layout_compatible.hpp"
#include "boost/pfr/detail/config.hpp"
#include "boost/pfr/detail/core.hpp"
#include "boost/pfr/detail/core14_classic.hpp"
#include "boost/pfr/detail/core14_loophole.hpp"
#include "boost/pfr/detail/core17.hpp"
#include "boost/pfr/detail/core17_generated.hpp"
#include "boost/pfr/detail/core_name.hpp"
#include "boost/pfr/detail/core_name14_disabled.hpp"
#include "boost/pfr/detail/core_name20_static.hpp"
#include "boost/pfr/detail/detectors.hpp"
#include "boost/pfr/detail/fake_object.hpp"
#include "boost/pfr/detail/fields_count.hpp"
#include "boost/pfr/detail/for_each_field_impl.hpp"
#include "boost/pfr/detail/functional.hpp"
#include "boost/pfr/detail/io.hpp"
#include "boost/pfr/detail/make_flat_tuple_of_references.hpp"
#include "boost/pfr/detail/make_integer_sequence.hpp"
#include "boost/pfr/detail/offset_based_getter.hpp"
#include "boost/pfr/detail/possible_reflectable.hpp"
#include "boost/pfr/detail/rvalue_t.hpp"
#include "boost/pfr/detail/sequence_tuple.hpp"
#include "boost/pfr/detail/size_array.hpp"
#include "boost/pfr/detail/size_t_.hpp"
#include "boost/pfr/detail/stdarray.hpp"
#include "boost/pfr/detail/stdtuple.hpp"
#include "boost/pfr/detail/tie_from_structure_tuple.hpp"
#include "boost/pfr/detail/unsafe_declval.hpp"
#include "boost/pfr/functions_for.hpp"
#include "boost/pfr/functors.hpp"
#include "boost/pfr/io.hpp"
#include "boost/pfr/io_fields.hpp"
#include "boost/pfr/ops.hpp"
#include "boost/pfr/ops_fields.hpp"
#include "boost/pfr/traits.hpp"
#include "boost/pfr/traits_fwd.hpp"
#include "boost/pfr/tuple_size.hpp"