Size: a a a

2020 August 22

E

Erdem in supapro.cxx
Побитый Кирпич
template<typename ... Types>
class Foo {
public:
 template <typename T>
 Foo(T&& t) : value(std::forward<T>(t)) {}
private:
 variant<Types ...> value;
};
будет ли означать что тип T из Types, или может быть не оттуда?
источник

ПК

Побитый Кирпич... in supapro.cxx
Erdem
будет ли означать что тип T из Types, или может быть не оттуда?
Если будет левым, то не скомпилируется
источник

D

Danya in supapro.cxx
Erdem
будет ли означать что тип T из Types, или может быть не оттуда?
Может быть левым, тогда не скомпилится
источник

D

Danya in supapro.cxx
В стандарте же нет трейта, который проверяет что тип является одним из в вариадик пака?
источник

D

Danya in supapro.cxx
Самому костылить?
источник

Е

Егор in supapro.cxx
Danya
В стандарте же нет трейта, который проверяет что тип является одним из в вариадик пака?
вроде нет
источник

E

Erdem in supapro.cxx
Побитый Кирпич
template<typename ... Types>
class Foo {
public:
 template <typename T>
 Foo(T&& t) : value(std::forward<T>(t)) {}
private:
 variant<Types ...> value;
};
forward здесь нужен чтобы некопировать t?
источник

Е

Егор in supapro.cxx
Егор
ща мб через conditional закостылю
ладно без больших костылей это видимо не сделать
источник

ПК

Побитый Кирпич... in supapro.cxx
Erdem
forward здесь нужен чтобы некопировать t?
Нет, чтобы форварднуть аргумент
источник

E

Erdem in supapro.cxx
Побитый Кирпич
Нет, чтобы форварднуть аргумент
я знаю про move и rvalue reference, где почитать что значит форварднуть аргумент?
источник

AF

Aidar Fattakhov in supapro.cxx
Erdem
я знаю про move и rvalue reference, где почитать что значит форварднуть аргумент?
В разделе про forwarding reference
источник

LA

Liber Azerate in supapro.cxx
Erdem
я знаю про move и rvalue reference, где почитать что значит форварднуть аргумент?
В Мейерсе
источник

D

Danya in supapro.cxx
std::move это безусловный каст к r-value reference
std::forward это каст к левой ссылке, если в функцию пришла левая ссылка и к правой ссылке, если пришла правая
источник

E

Erdem in supapro.cxx
спасибо!
источник

Е

Егор in supapro.cxx
Егор
ладно без больших костылей это видимо не сделать
источник

Е

Егор in supapro.cxx
а когда-то планируют завести using Types = Args...?
источник

D

Danya in supapro.cxx
Егор
а когда-то планируют завести using Types = Args...?
Я думал сделать такой пропозал на stdcpp.ru)))
источник

D

Danya in supapro.cxx
Только синтаксис using... Types = Args...;
источник

Е

Егор in supapro.cxx
Danya
Я думал сделать такой пропозал на stdcpp.ru)))
тогда и using Types = Args1..., Args2..., Args3...; добавь
источник

D

Danya in supapro.cxx
Егор
тогда и using Types = Args1..., Args2..., Args3...; добавь
Понятное дело
источник