Вопросы по теме 'boost-mpl'
Как я могу использовать boost::mpl::fold с boost::fusion::map?
Когда я пытаюсь скомпилировать это:
#include <boost/fusion/container/map.hpp>
#include <boost/mpl/fold.hpp>
int main(int argc, char** argv)
{
typedef boost::fusion::map
<
boost::fusion::pair<int, const...
1265 просмотров
schedule
31.10.2022
Boost.MPL и генерация списка типов
Фон
Это для менеджера памяти в игровом движке. У меня есть freelist , и я хотел бы иметь список времени компиляции, если они. (например, вектор MPL или Fusion). freelist соответствуют размерам выделения, и при выделении/освобождении объектов...
4242 просмотров
schedule
14.05.2023
Преобразование вектора MPL в статический массив
Я написал некоторый код для создания boost::mpl::vector для использования в качестве таблицы поиска для факториальной функции, в качестве теста для более общей библиотечной функции, с помощью которой разработчик может создать таблицу поиска в виде...
1133 просмотров
schedule
09.08.2022
Как получить тип относительно индекса времени выполнения?
Допустим, у меня есть boost::mpl::list< A, B, C ...> .
Как получить доступ к одному из этих типов, получив значение индекса во время выполнения ? Это вообще возможно?
204 просмотров
schedule
23.03.2023
С++ запрещает перезаписывать виртуальную функцию
Я использую класс A из библиотеки и хочу добавить к нему некоторую функциональность через собственный класс B. Пользователь класса B должен быть производным от него, как если бы он производился от класса A.
class A {
public:
virtual...
812 просмотров
schedule
08.04.2022
Boost MPL Placeholders и Lambda
В настоящее время я делаю некоторые доказательства на концептуальных примерах с boost::mpl, и у меня есть некоторые трудности с пониманием того, как лямбда-функция позволяет использовать заполнители.
Я понимаю, что могу обернуть метафункции в...
1612 просмотров
schedule
02.07.2023
Неоднозначная метафункция или неопределенный тип
Я новичок в метафункциях. Я хочу написать функцию, которая заменяет все совпадения определенного типа в составном типе на какой-то другой тип. Например: replace<void *, void, int>::type должно быть int * , replace<void, void,...
261 просмотров
schedule
19.03.2024
оценка метапрограммирования шаблона
Итак, у меня есть класс шаблона, который я хотел бы принять std::map, где тип данных является либо необработанным указателем, либо std::unique_ptr. Затем в этом классе я хотел бы получить тип базового указателя:
typedef typename...
1246 просмотров
schedule
26.04.2022
Различное поведение boost::mpl::or_ и boost::mpl::and_?
Код ниже пытается проверить поведение короткого замыкания boost::mpl::or_ и boost::mpl::and_ :
#include <vector>
#include <boost/mpl/eval_if.hpp>
#include <boost/mpl/identity.hpp>
#include <boost/mpl/or.hpp>
#include...
700 просмотров
schedule
03.08.2022
Как оптимизировать код boost::mpl::vector?
Добавьте момент, когда я играю с boost::mpl::*, и попробуйте расширить пример физического устройства. На данный момент у меня есть следующий код:
Простое физическое базовое измерение, представленное mpl::vector:
template < int Mass, int...
167 просмотров
schedule
29.08.2022
С++ 11, как проксировать функцию класса, имеющую только свое имя и родительский класс?
Интересно, можно ли с помощью boost::mpl/preprocessor или некоторых функций noce C++11 создать прокси-функцию из типа класса и имени функции.
Скажем, у нас было:
inline void set_email(const ::std::string& value);
inline void...
883 просмотров
schedule
14.08.2022
Почему Boost MPL имеет интегральные константы?
Поскольку вы можете использовать целочисленные значения в качестве параметров шаблона и выполнять над ними арифметические действия, какова мотивация boost::mpl::int_‹> и других целочисленных констант? Применяется ли эта мотивация в С++ 11?
1671 просмотров
schedule
15.09.2023
boost::mpl::map не работает boost::mpl::equal?
В документации Boost MPL указано, что boost::map::equal
"Возвращает интегральную константу с истинным значением, если две последовательности Seq1 и Seq2 идентичны при сравнении _element_ по _element_ .
но похоже, что карта ассоциативной...
394 просмотров
schedule
17.05.2022
Метафункция шаблона С++ для созданного объекта класса шаблона
Я надеюсь, что этот вопрос не слишком запутанный. Я понимаю, что метапрограммирование воздействует на типы, а не на объекты этих типов; тем не менее, я все еще пытаюсь добиться того же результата, 1) извлекая информацию о типе из класса, а затем 2)...
220 просмотров
schedule
08.04.2022
Как реализовать boost MPL FOLD в С++ 11 только с использованием пакета параметров?
У boost mpl более распространенный алгоритм — fold . Этот алгоритм является базовым для многих других алгоритмов.
template< typename Seq, typename State, typename Op> struct fold { ... }
//Here Seq is <T0,T1,...,Tn> any sequence.
//...
832 просмотров
schedule
15.08.2023
Классификация типов в варианте Boost с использованием посетителя не компилируется
Я использую boost-variant во всех своих проектах. В одном сценарии мне нужно классифицировать типы, содержащиеся в моем boost-variant , на несколько классов. Так как у меня довольно много типов в моем варианте, я пришел к идее определить...
343 просмотров
schedule
04.07.2022