Вопросы по теме 'boost-preprocessor'
Завершен ли препроцессор Тьюринга C99?
Обнаружив возможности препроцессора Boost , я обнаружил, что интересно: препроцессор C99 Тьюринг завершен?
Если нет, то чего ему не хватает, чтобы не соответствовать требованиям?
18340 просмотров
schedule
10.07.2022
Препроцессор Boost - странный результат
Проверьте следующий макрос:
#define INPUT (char, "microsecond", "us")(int, "millisecond", "ms")(int, "second", "s")(int, "minute", "min")(float, "hour", "h")
Цель состоит в том, чтобы добавить двойные скобки вокруг каждого кортежа, в...
327 просмотров
schedule
13.08.2022
Руководство по усилению защиты BOOST (макросы препроцессора)
Мне трудно определить, какие макросы препроцессора я должен использовать с Boost для (1) инструментов отладки (таких как проверенные итераторы) и (2) элементов, связанных с безопасностью.
Все, что я могу найти, это метапрограммирование...
343 просмотров
schedule
21.11.2022
Библиотека препроцессора Boost
У меня возникли проблемы с расширением до базового значения
# include <boost/preprocessor/cat.hpp>
#define REL_ITERATION_1 1
#define REL_FRAME_ITERATION(i) BOOST_PP_CAT(REL_ITERATION_, i)
#define REL_ITERATION_PARAMS_2...
735 просмотров
schedule
13.04.2022
Генерация LUT BitCount во время компиляции
Допустим, мне нужно создать LUT, содержащую предварительно вычисленные значения счетчика битов (счетчик 1 бит в числе) для значений 0...255:
int CB_LUT[256] = {0, 1, 1, 2, ... 7, 8};
Если я не хочу использовать жестко закодированные значения,...
458 просмотров
schedule
01.10.2022
Создание списка строковых аргументов макроса с вариативными параметрами и поздними расширениями
У меня следующая проблема - задано переменное количество аргументов макроса argX для создания списка строковых аргументов #argX
Пример:
LIST(A, B) -> "A", "B"
LIST(A, B, C) -> "A", "B", "C"
Я использую Boost, поэтому приведенный выше...
209 просмотров
schedule
12.11.2022
Программа препроцессора Boost не будет компилироваться после перехода с Boost 1.55 на 1.57
Я написал несколько директив препроцессора для генерации функций для класса. С Boost 1.55 все работает нормально. Когда я пытаюсь перейти на Boost 1.57, у меня возникают странные ошибки компиляции.
Программа:
#include <iostream>...
759 просмотров
schedule
11.01.2024
Удалить пробелы из символа
Я использую последовательности препроцессора Boost для генерации enum s, поэтому, например, у меня есть такое определение, как
#define DESERTS (Cheesecake)(Apple Pie)(Merengue)
Теперь я хочу сгенерировать оба разумные enum class , а также...
123 просмотров
schedule
02.10.2022
Препроцессор: как использовать список для определения переменных и ввода функций
У меня есть три списка: один с целочисленными переменными (ilist), один с двойными переменными (dlist) и один с переменными std::string (slist) с определенными начальными значениями. Пример: ilist=(ilist1=init_val_1)(ilist2=init_val_2)
Может ли...
33 просмотров
schedule
04.03.2024
Создать путь для директивы #include с помощью макроса
Я хотел бы включить пути к файлам, динамически создаваемые макросом для части моей программы, зависящей от целевой конфигурации.
например, я хотел бы создать макрос, который будет вызываться следующим образом:
#include TARGET_PATH_OF(header.h)...
7042 просмотров
schedule
18.12.2022
Условное расширение препроцессора C ++ на основе параметра
У меня есть макрос, который создает для меня класс. Я хочу предоставить конструктор, который принимает int , если сам класс не имеет int , указанного в качестве его типа. Макрос выглядит примерно так:
CLASS_DECLARE(NAME, TYPE)\
class NAME {...
600 просмотров
schedule
19.10.2022
Использование препроцессора boost для итеративного вызова шаблона с переменным числом аргументов
Предположим, у меня есть вариативный шаблон:
template<typename... Args>
class Foo;
Этот вариативный шаблон рекурсивно генерирует другой шаблон, пока не достигнет одного аргумента Foo на последнем уровне. Теперь я хочу иметь макрос,...
623 просмотров
schedule
09.09.2023
Как перебирать индексы контейнера Boost Multi_index?
У меня есть контейнер boost::multi_index::multi_index_container с шестью разными индексами ordered_non_unique . Идея состоит в том, чтобы иметь возможность сортировать данные по этим шести индексам (как средство ранжирования решений с...
670 просмотров
schedule
02.04.2023
Макросы с переменным числом аргументов: повторное использование аргументов с переменным числом аргументов (Boost.Fusion)
Я работаю над своего рода фреймворком "данные-переменные". Здесь структуры определены и адаптированы как последовательности Boost.Fusion с использованием макроса BOOST_FUSION_DEFINE_ASSOC_STRUCT .
Краткий контекст:
Чтобы определить две...
164 просмотров
schedule
16.07.2022
Кормление boost::format с вариативными параметрами
Я пытаюсь написать функцию ведения журнала, которая принимает список аргументов с переменным числом аргументов и печатает в безопасном месте. vprintf кажется очевидным ответом, но я не могу найти безопасный способ обработки, когда строка формата...
350 просмотров
schedule
12.06.2023