Вопросы по теме 'boost-hana'

Доступ к типам tuple_t
У меня есть этот код: auto myTuple = hana::tuple_t<int, char*, long>; std::cout << boost::typeindex::type_id<decltype(myTuple[1_c])>().pretty_name() << std::endl; Это выводит:...
123 просмотров
schedule 12.02.2023

Объединение нескольких карт
Я уже спрашивал об этом в списке рассылки Boost, но, похоже, я не совсем ясно выразил свои намерения. Это также может быть я не совсем понимаю, как я могу это сделать. Я хочу объединить несколько карт в хане, см. следующий пример кода:...
204 просмотров
schedule 09.01.2024

Перебор boost::hana::tuple
Я не мог найти способ получить доступ к реальному объекту с hana::for_each итерацией по кортежам. struct A { std::string name; } struct B { std::string name; } using type_t = decltype(boost::hana::tuple_t<A, B>); type_t names;...
1238 просмотров
schedule 12.06.2023

Использование boost::hana и CMake без полной установки (внешний проект?)
Недавно я скачал новейшую библиотеку boost, чтобы получить доступ к boost::hana, и прочитал их документацию страница , на которой они предлагают использовать "модуль FindHana.cmake для настройки Hana в качестве внешнего проекта для использования"....
474 просмотров
schedule 03.12.2022

Цикл constexpr без содержимого constexpr
Я хочу использовать boost hana для генерации этого окончательного кода: template < typename ... Ts > void foo(Ts ... data) { constexpr auto tuple = hana::make_tuple(data...); //Code that I need to be generate...
591 просмотров
schedule 27.04.2024

`boost::hana` самоанализ шаблонной функции
Я хотел бы узнать, определяет ли тип функцию-член с аргументом шаблона, но аргумент шаблона ограничен SFINAE. Пример У меня есть тип A с одной функцией foo struct A{ template<typename T>...
159 просмотров

Как создать boost::hana::map с ключами, являющимися строками времени компиляции (C++14)?
Я видел в списке рассылки boost.hana следующий пример, который не компилируется: #include <boost/hana.hpp> #include <string> namespace hana = boost::hana; int main(int argc, char **argv) { constexpr auto m1 = hana::make_map(...
535 просмотров
schedule 26.03.2023

Как объединить две карты Boost Hana?
У меня есть два boost::hana::map , которые нужно объединить. constexpr auto m1 = hana::make_map( hana::make_pair("key1"_s, hana::type_c<std::string>), hana::make_pair("key2"_s, hana::type_c<std::string>) ); constexpr auto...
109 просмотров
schedule 21.12.2022

Когда массив символов является постоянным выражением?
Я использовал Boost.Hana для генерации строк времени компиляции для использования в качестве параметров шаблона с gcc: using namespace boost::hana::literals; #define GQL_STR(tok) decltype(#tok ## _s) Это зависит от наличия набора...
142 просмотров

Определите структуру с более чем 40 полями, используя BOOST_HANA_DEFINE_STRUCT в Boost::Hana
Определение структуры с более чем 40 полями с помощью макроса BOOST_HANA_DEFINE_STRUCT в библиотеке Boost::hana, например, #include <boost/hana/define_struct.hpp> namespace hana = boost::hana; // a simple struct having 41 fields struct Foo...
229 просмотров
schedule 15.08.2022

Как преобразовать boost::hana::map в лямбды
У меня есть следующий код template <typename T> void my_func(T& /*var*/) { }; auto my_types = hana::make_map( hana::make_pair(hana::type_c<std::uint32_t>, hana::integral_c<std::uint8_t, 1>),...
87 просмотров
schedule 27.10.2022

Не постоянное выражение в лямбда-функции
У меня такой код: #include <boost/hana.hpp> #include <array> #include <iostream> #include <utility> namespace hana = boost::hana; #define HEADER_CONNECT 0b00010000 #define HEADER_CONNACK 0b00001000 struct ConnectFrame {...
147 просмотров
schedule 27.02.2022

Объединение предикатов функциональным способом
Предоставляет ли Boost Hana возможность комбинировать предикаты с логическими операторами? Я имею в виду что-то примерно такое constexpr auto both = [](auto&& f, auto&& g){ return [&f,&g](auto&& x){ return f(x)...
59 просмотров