Вопросы по теме 'stdtuple'
Как вы можете перебирать элементы std::tuple?
Как я могу перебрать кортеж (используя С++ 11)? Я пробовал следующее:
for(int i=0; i<std::tuple_size<T...>::value; ++i)
std::get<i>(my_tuple).do_sth();
но это не работает:
Ошибка 1: извините, не реализовано: не...
90682 просмотров
schedule
12.11.2022
Как получить N-й тип из кортежа?
Я хочу создать шаблон, в котором я могу ввести индекс, и он даст мне тип по этому индексу. Я знаю, что могу сделать это с помощью decltype(std::get<N>(tup)) , но я хотел бы реализовать это сам. Например, я хотел бы сделать это,
typename...
5647 просмотров
schedule
04.04.2023
Как проверить кортеж С++ 11 во время выполнения для возможного применения функции
У меня есть функция, применяющая данную функцию f к заданному std::tuple t , как показано ниже, в которой, если t имеет неправильный размер, генерируется сообщение об ошибке времени компиляции. Мне было интересно, можно ли написать это...
536 просмотров
schedule
30.06.2023
сопоставить перегруженную функцию С++ с гетерогенным кортежем?
Можно ли в C++ сопоставить перегруженную функцию с гетерогенным кортежем? Например:
double f(dobule);
size_t f(std::string);
auto t = std::make_tuple(3.14, "a string");
// should be the same as std::make_tuple(f(std::get<0>(t)),...
396 просмотров
schedule
25.04.2023
Кортеж указателей на функции, возвращающие ссылку на вариативные типы
Пусть вас не пугает название вопроса! Я считаю, что это просто вопрос синтаксиса.
у меня есть этот класс
template<typename ... Types>
class test_class{
public:
template<typename T>
T &get(){return...
910 просмотров
schedule
16.12.2023
Получение значений сохраненного кортежа с помощью автоматического C++
Если я храню кортеж в классе как таковой:
class BaseA { } //So that I can store A in a class
template <typename Args...>
class A : public BaseA {
public:
//I'm omitting the constructors
private:
std::tuple<Args...> storedTup;...
83 просмотров
schedule
18.05.2024
Преобразование из std::tuple‹T, U› в std::pair‹T, U›
И GCC, и Clang (или, скорее, libstdc++ и libc++ соответственно) согласны с тем, что
std::is_convertible<std::pair<int, int>, std::tuple<int, int>>::value
является true , чего и следовало ожидать, поскольку std::tuple<T,...
58 просмотров
schedule
03.05.2023
Почему стандарт позволяет назначать кортеж ссылок rvalue кортежем ссылок lvalue?
Похоже, что std::tuple , содержащий одну или несколько ссылок, имеет неожиданное поведение в отношении построения и назначения (особенно построения копирования/перемещения и назначения копирования/перемещения). Это отличается от поведения как...
2134 просмотров
schedule
21.01.2024
ошибка: нельзя передавать объекты нетривиально копируемого типа через ``
У меня есть класс unit , который имеет свойства
std::is_trivial<unit>::value; // true
std::is_trivially_copyable<unit>::value; // true (on compilers which have this trait)
Я хотел бы передать векторы unit в виде кортежа,...
3033 просмотров
schedule
28.07.2023
Идеальная пара
Вдохновленный этим вопросом , я задумался о том, что является идеальным std::pair должно выглядеть. Класс сжатой пары (например, boost ) предоставляет пару, размер которой уменьшается, когда один из ее типов является пустым классом. Для сжатой...
404 просмотров
schedule
19.07.2022
С ++ std :: порядок уничтожения кортежей
Есть ли правило, в котором говорится, в каком порядке уничтожаются члены std :: tuple?
Например, если Function1 возвращает std::tuple<std::unique_ptr<ClassA>, std::unique_ptr<ClassB>> в Function2 , то могу ли я быть уверен,...
3466 просмотров
schedule
07.07.2022
Доступ к кортежу кортежей указателей и мьютексов потокобезопасный
Учитывая std::tuple ,
using Tuple1 = std::tuple<Foo1*, Bar1*, std::shared_ptr<std::mutex>>;
using Tuple2 = std::tuple<Foo2*, Bar2*, std::shared_ptr<std::mutex>>;
std::tuple<Tuple1, Tuple2> tuple;
И функция,...
329 просмотров
schedule
26.07.2023
C++11 как реализовать `std::string ToString(std::tuple‹Args› &t)`?
Мне нужна очень удобная функция ToString для многих типов, включая функцию std::tuple . Функция такая:
template <typename T>
inline std::string ToString(const T &t) {
std::stringstream ss;
ss << t;
return...
650 просмотров
schedule
16.01.2023
C++: преобразовать кортеж в тип T
Я пытаюсь создать класс с именем tuple_cnv с (неявным) оператором преобразования для построения любого объекта из кортежа (например, функция C++17 std::make_from_tuple ), но рекурсивного характера таким образом, что если кортеж состоит из других...
605 просмотров
schedule
14.05.2023
инициализация std::tuple, какие конструкторы элементов требуют объекта из другого std::tuple
рассмотрим следующий код
template<typename T> struct B;
template<typename T> struct C;
template<typename...As>
struct A
{
typedef std::tuple< B<As> ...> Bs;
typedef std::tuple< C< B<As> >...>...
23 просмотров
schedule
13.10.2022
Получить первый элемент std::tuple, удовлетворяющий трейту
Я использую С++17. Я хотел бы получить элемент кортежа, который удовлетворяет некоторой черте типа. Было бы замечательно, если бы трейт можно было предоставить в общем виде, но я бы удовлетворился конкретной функцией для определенного трейта....
533 просмотров
schedule
14.06.2023
std::tuple эквивалент второго члена std::pair?
Я преобразую эту функцию для использования std::tuple , у которой нет членов first и second , таких как std:pair .
std::type_index argumentType(const std::string& name) const
{
return std::find_if(args_.begin(), args_.end(),...
81 просмотров
schedule
03.10.2022
как перенаправить типы кортежа для специализации другого шаблона?
в настоящее время я работаю над динамической контейнерной структурой, которая представляет одно значение модуля или имеет вектор указателей с тем же типом контейнера. Контейнер имеет интерфейс optional<T> expect_value<T>() 。 Для типов...
511 просмотров
schedule
22.05.2022
Хранение различных типов std::tuple в массиве, векторе или?
Есть ли способ в последней версии С++ (я думаю, 17 или 20) хранить различные виды кортежей в std::array или std::vector или другом встроенном типе данных? Например, может быть что-то вроде ->
struct bunchOfTuples {
std::tuple<float, float,...
511 просмотров
schedule
18.05.2023
Как применить функцию constexpr к каждому элементу в std::tuple?
У меня есть constexpr auto my_tuple = std::make_tuple(a, b, c, d, e); . Теперь я хочу применить функцию constexpr к каждому из его элементов. Я думал, что могу сделать это так:
template <typename... Types>
void constexpr...
96 просмотров
schedule
21.06.2022