Вопросы по теме 'stdtuple'
с кортежами и boost.fusion, есть ли смысл использовать структуру?
кортежи похожи на структуры (обсуждается здесь: Boost::Tuples vs Structs для возвращаемых значений ). похоже, единственное преимущество в том, что структуру удобнее писать, потому что она короче и по ключу, а не по номеру.
можно также...
734 просмотров
schedule
23.07.2023
Требования для 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 просмотров
schedule
25.06.2023
Как я могу использовать класс шаблона внутри класса шаблона в качестве параметра шаблона шаблона с параметром шаблона?
Я пытаюсь использовать класс шаблона в качестве параметра шаблона шаблона с другим параметром шаблона. Как это звучит, это довольно сложно/запутанно, и я не могу понять, как исправить ошибку компилятора.
То, что я написал, похоже на...
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 просмотров
schedule
13.11.2022
Передать 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 просмотров
schedule
27.05.2023
вектор типов 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