.. _file_include_dx2_reflection.hpp: File reflection.hpp =================== |exhale_lsh| :ref:`Parent directory ` (``include/dx2``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS Lightweight, type-safe reflection table for HDF5 datasets. Definition (``include/dx2/reflection.hpp``) ------------------------------------------- .. toctree:: :maxdepth: 1 program_listing_file_include_dx2_reflection.hpp.rst Detailed Description -------------------- This header defines a flexible structure for interacting with HDF5 datasets as typed reflection tables. It allows datasets to be loaded into typed columns, filtered by row selection, queried by column, and written back to disk. - ``ReflectionTable`` manages a collection of columns loaded from an HDF5 group. - Each column is a ``None`` held in a ``std::variant`` with one alternative per type in ``h5dispatch::ColumnTypes``, the same model as the DIALS reflection_table (a dxtbx flex_table over a boost::variant). A column type outside that list is a compile error. - Support for adding, querying, selecting, and writing columns. Includes -------- - ``array`` - ``chrono`` - ``dx2/h5/h5dispatch.hpp`` (:ref:`file_include_dx2_h5_h5dispatch.hpp`) - ``dx2/h5/h5read_processed.hpp`` (:ref:`file_include_dx2_h5_h5read_processed.hpp`) - ``dx2/h5/h5utils.hpp`` (:ref:`file_include_dx2_h5_h5utils.hpp`) - ``dx2/h5/h5write.hpp`` (:ref:`file_include_dx2_h5_h5write.hpp`) - ``dx2/logging.hpp`` (:ref:`file_include_dx2_logging.hpp`) - ``experimental/mdspan`` - ``functional`` - ``iomanip`` - ``optional`` - ``random`` - ``sstream`` - ``string`` - ``type_traits`` - ``unordered_set`` - ``variant`` - ``vector`` Included By ----------- - :ref:`file_dx2_reflection.cxx` Namespaces ---------- - :ref:`namespace_logic` Classes ------- - :ref:`exhale_struct_structColumnPredicate` - :ref:`exhale_struct_structReflectionTable_1_1is__column__predicate` - :ref:`exhale_struct_structReflectionTable_1_1is__column__predicate_3_01ColumnPredicate_3_01T_01_4_01_4` - :ref:`exhale_struct_structTypedColumn` - :ref:`exhale_class_classReflectionTable` Enums ----- - :ref:`exhale_enum_namespacelogic_1ae937df0cdbf83b41155ca2c3cd7d7270` Typedefs -------- - :ref:`exhale_typedef_reflection_8hpp_1a9ff22028a688ccb888b1901c7f09dfb1` - :ref:`exhale_typedef_reflection_8hpp_1a1ef57e0cfda8f93961b80b8809104345`