.. _program_listing_file_include_htlist.hpp: Program Listing for File htlist.hpp =================================== |exhale_lsh| :ref:`Return to documentation for file ` (``include/htlist.hpp``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp #pragma once #include namespace ctql { namespace detail { template struct HTList; template <> struct HTList<> { static constexpr std::size_t len = 0; }; template struct HTList : HTList { using head_type = T0; using tail_type = HTList; static constexpr std::size_t len = 1 + sizeof...(TRest); }; template struct append { using type = U; }; template struct append, HTList> { using type = HTList; }; template HTList(T...) -> HTList; } // namespace detail }