Вопросы по теме 'boost-mpl'
Является ли MPL pos недокументированной метафункцией?
В документации BOOST MPL есть следующий пример кода. алгоритма find :
typedef vector<char,int,unsigned,long,unsigned long> types;
typedef find<types,unsigned>::type iter;
...
BOOST_MPL_ASSERT_RELATION( iter::pos::value, ==, 2 );...
282 просмотров
schedule
25.04.2023
Проблема с метафункцией для определения класса-в-шаблоне-класса
У меня есть код со следующей структурой:
template <typename T>
struct Foo
{
struct Bar
{
int data;
};
};
Я хочу написать метафункции, которые сообщат мне, является ли тип Foo или Bar. Первый простой:
template <typename...
302 просмотров
schedule
31.05.2024
ошибка аргумента метафункции операции преобразования boost::mpl
В веб-документации Boost MPL , в нем говорится о передаче классов метафункций в качестве аргументов для boost::mpl::transform. Аргумент метафункции в этом случае должен быть какой-то операцией, выполняемой над mpl::ForwardSequence. Однако при...
784 просмотров
schedule
26.04.2022
Проверить наличие глобального оператора‹‹ в C++
Здравствуйте, я хочу написать две реализации функции-члена to_string следующим образом:
template <typename T0> class foo
{
public: std::string to_string();
public: T0 m_Value;
};
template <typename T0> std::string...
705 просмотров
schedule
11.02.2022
шаблон С++: boost::mpl::transform с параметром шаблона шаблона
Теперь, когда на мой предыдущий вопрос есть решение, возникает больше вопросов.
Я хочу использовать метафункцию wrap_into_container с boost::mpl::transform, например:
#include <vector>
#include <list>
#include...
577 просмотров
schedule
29.04.2024
С++ Зарегистрируйте переменные члена класса во время компиляции
Я пытаюсь реализовать систему аннотаций в стиле Java, используя boost MPL и fusion.
Зачем это нужно: мне нужно аннотировать переменные-члены, чтобы иметь некоторые специальные функции времени выполнения. Я регистрирую их во время компиляции в моем...
596 просмотров
schedule
19.09.2022
Время выполнения находит первое совпадение в boost::mpl::vector
У меня есть boost::mpl::vector , и теперь мне нужен шаблон (функция), который "перебирает" типы до тех пор, пока не будет найдено первое совпадение (во время выполнения). Что-то похожее на boost::fusion::find_if , но без sequence , являющегося...
449 просмотров
schedule
29.05.2022
Как я могу реализовать вложенный boost::mpl::fold
Как я могу реализовать вложенный boost::mpl::fold ?
namespace mpl=boost::mpl;
typedef mpl::vector_c<int,1,1,1> vec1;
typedef mpl::vector_c<int,2,2,2> vec2;
typedef mpl::vector_c<int,3,3,3> vec3;
typedef...
246 просмотров
schedule
18.10.2022
Списки типов С++ 14, есть ли причина предпочесть «свободные функции» «методам» или наоборот?
Я вижу два возможных стиля реализации списков типов в C++ 11/14, и мне было любопытно, есть ли какая-то причина предпочесть один другому. Первый метод описан здесь и основан на библиотеке Boost MPL. В этом стиле вы определяете мета «свободные...
1217 просмотров
schedule
12.07.2023
Получить индекс типа boost::variant с помощью boost::mpl
boost::variant имеет элементы types , которые представляют собой структуру boost::mpl. Есть ли способ получить индекс типа в этой структуре во время компиляции, так что во время выполнения я мог бы сделать
if(myVariantInstance.which() ==...
995 просмотров
schedule
16.03.2023
boost accumulator_set: ожидать первичного выражения
Я новичок в библиотеке Boost. Мне нужна программа, которая могла бы вычислять минимальное, максимальное, среднее значение и дисперсию вектора расстояния (типа std::vector < double > ), и я написал следующий код
std::vector < double >...
109 просмотров
schedule
21.06.2022
Размер структуры во время компиляции минус заполнение
Я пытаюсь использовать Boost MPL и Fusion для расчета размера структуры без учета каких-либо дополнений. Это моя текущая лучшая попытка:
Живой пример
template<class T>
constexpr std::size_t sizeof_members(void)
{
using namespace...
111 просмотров
schedule
04.05.2023