Вопросы по теме 'stdtuple'

с кортежами и boost.fusion, есть ли смысл использовать структуру?
кортежи похожи на структуры (обсуждается здесь: Boost::Tuples vs Structs для возвращаемых значений ). похоже, единственное преимущество в том, что структуру удобнее писать, потому что она короче и по ключу, а не по номеру. можно также...
734 просмотров

Требования для std::ignore
C++11 представляет объект с именем std::ignore : const /* unspecified */ ignore; Для краткости пусть typedef decltype(std::ignore) T; Насколько я могу судить, единственным требованием для T является то, что это CopyAssignable...
693 просмотров
schedule 18.03.2023

Можно ли позже создать элементы std::tuple с помощью распределителя?
Насколько я понял, одной из причин использования распределителей C++ для моего собственного контейнера было бы то, что я могу разделить выделение и построение. Теперь мне интересно, возможно ли это для std::tuples следующим образом: каждый раз,...
829 просмотров
schedule 14.04.2022

Оптимальный способ доступа к элементу std::tuple во время выполнения по индексу
У меня есть функция at , предназначенная для доступа к элементу std::tuple по индексу, указанному во время выполнения template<std::size_t _Index = 0, typename _Tuple, typename _Function> inline typename std::enable_if<_Index ==...
4127 просмотров

Как я могу использовать класс шаблона внутри класса шаблона в качестве параметра шаблона шаблона с параметром шаблона?
Я пытаюсь использовать класс шаблона в качестве параметра шаблона шаблона с другим параметром шаблона. Как это звучит, это довольно сложно/запутанно, и я не могу понять, как исправить ошибку компилятора. То, что я написал, похоже на...
117 просмотров
schedule 04.04.2023

Непонятный синтаксис с std::tie
Я просто читаю немного о кортежах . Теперь мне непонятен следующий синтаксис: std::tie (myint, std::ignore, mychar) = mytuple; Нетрудно понять, что он делает, НО что происходит с точки зрения языка? Мы каким-то образом присваиваем...
290 просмотров
schedule 05.01.2023

Пакет параметров шаблона Variadic для приема только беззнаковых целых чисел или size_t в качестве своего типа
Я пытаюсь использовать набор классов шаблонов с переменным параметром. У меня впереди несколько вариантов, из которых я мог бы выбрать. До того, как какой-либо из моих шаблонов будет объявлен или определен, у меня в настоящее время есть эти...
546 просмотров
schedule 25.04.2022

Почему std::get не имеет единой подписи, которая принимает ссылку на пересылку
Почему std::get для std::tuple имеет так много перегрузок ( http://en.cppreference.com/w/cpp/utility/tuple/get )? Один, соответствующий каждой возможной комбинации const & и && ? Для каждой комбинации квалификаторы const ref в...
139 просмотров
schedule 20.10.2022

std::get on std::tuple приводит к тому, что переменные аргументы сводятся к нулю с ошибкой неполного типа
Следующий код выдает огромный список ошибок компилятора: /// Uses template recursion to bind all args template<std::size_t N, typename... Args> class Binder { public: Binder(Sqlite3StatementBase &s, std::tuple<Args...>...
237 просмотров
schedule 01.08.2022

Копирование std::tuple
Я пытался присвоить некоторые значения классу, производному от std::tuple. Первое, о чем я подумал, это использовать make_tuple , а затем скопировать его с помощью operator= , но это не сработало. Если бы вместо этого я вручную назначал...
150 просмотров
schedule 06.09.2022

std::tuple как замена члена, удобный макрос
Недавно я начал использовать кортежи вместо простых членов класса, потому что считаю, что с ними удобно работать. Итак, мой код выглядит примерно так: class TestClass final { public: TestClass() = default; ~TestClass() = default; public:...
323 просмотров
schedule 01.07.2022

Можно ли написать одну именованную функцию доступа как для постоянной ссылки, так и для записываемой ссылки на элементы кортежа?
У меня есть некоторая иерархия std::tuple. Я хотел бы написать некоторые функции доступа для всех этих кортежей, чтобы полученный код был более читаемым. Поэтому вместо того, чтобы писать:...
80 просмотров
schedule 12.01.2023

Нет подходящего конструктора для инициализации класса вариативного шаблона
Я пытаюсь написать класс-оболочку для декартова итератора продукта, предоставленного Мирандой Конрадо (исходный код можно найти на Гитхаб ). Для удобства я также приведу здесь соответствующие фрагменты кода. Мой класс можно построить двумя...
818 просмотров

Передать std::tuple с вариативным параметром шаблона в качестве типа его элементов другой функции в виде списка параметров
Я реализовал свою версию std::map , чтобы лучше понять, как все работает изнутри. При реализации std::map::emplace() я столкнулся с проблемой. Итак, моя сигнатура функции выглядит так: template <typename Key, typename Value> template...
98 просмотров
schedule 02.02.2024

C++ Структурированная привязка с предупреждениями -Wshadow?
обновление: gcc работает, а clang нет скомпилировать с С++ 17 GCC/Clang -Wshadow предупредит, если произойдет теневая локальная переменная, но со структурированными привязками этот флаг не работает. Как выставить предупреждение в этой...
158 просмотров
schedule 09.07.2023

С++, как перебирать вариативные типы шаблонов и добавлять их в кортеж?
Это довольно сложно, поэтому я не смог решить его самостоятельно. Вот соответствующий код, я объясню подробнее позже. #include <memory> #include <vector> #include <tuple> #include <typeinfo> #include <iostream>...
145 просмотров

вектор типов std::variant в std::tuple
Я работаю над вектором типов std::variant. Есть ли способ преобразовать его в std::tuple значений, содержащихся в данных std::variants ? typedef std::variant<type1, type2,...> a_union; std::vector<a_union> vec; Например, я хотел бы...
183 просмотров
schedule 07.10.2023