libdpf/include/dpf/sequence_utils.hpp

26 lines
958 B
C++

/// @file dpf/sequence_utils.hpp
/// @brief Tags that select how `eval_sequence` stores each visited leaf.
/// @copyright Copyright (c) 2019-2026 Ryan Henry and [others](@ref authors)
/// @license Released under a GNU General Public v2.0 (GPLv2) license.
#ifndef LIBDPF_INCLUDE_DPF_SEQUENCE_UTILS_HPP__
#define LIBDPF_INCLUDE_DPF_SEQUENCE_UTILS_HPP__
namespace dpf
{
/// Tag base for `eval_sequence` storage layout.
struct return_type_tag_{};
/// Store whole leaves. Default for `eval_sequence`. The iterable still
/// yields one share per listed point.
struct return_entire_node_tag_ final : public return_type_tag_ {};
// static constexpr auto return_entire_node_tag = return_entire_node_tag_{};
/// Store one share per listed point.
struct return_output_only_tag_ final : public return_type_tag_ {};
// static constexpr auto return_output_only_tag = return_output_only_tag_{};
} // namespace dpf
#endif // LIBDPF_INCLUDE_DPF_SEQUENCE_UTILS_HPP__