- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
template <typename F, class = decltype(F()(E()))>
auto map(F p) -> std::vector< decltype(p(E())) >
{
std::vector< decltype(p(E())) > result;
std::transform(get().begin(), get().end(), std::back_inserter(result), [=](auto &v) {
return mutable_(p)(v);
});
return result;
}
template <typename F, class = decltype(F()(E(), 0))>
auto map(F p) -> std::vector< decltype(p(E(), 0)) >
{
std::vector< decltype(p(E(), 0)) > result;
auto first = &(get())[0];
std::transform(get().begin(), get().end(), std::back_inserter(result), [=](auto &v) {
auto index = &v - first;
return mutable_(p)(v, index);
});
return result;
}
// и применение (e) => f()
auto strs = (array<int>{ 1, 2, 3 }).map([](auto x)
{
return "X" + x;
});
// или (e, index) => f()
auto strs = (array<int>{ 1, 2, 3 }).map([](auto x)
{
return x + i;
});
как я выкрутился бля... с разными маперами... как генерики в c#
ASD_77 27.05.2020 14:55 # 0
BEKTOPHblu_nETyX 27.05.2020 16:59 # 0
Уот? После -> возвращаемый тип указан? Это када такой синтакс появился?
Зачем тада ауто?
bormand 27.05.2020 17:02 # +2
guest8 27.05.2020 17:04 # −999
ASD_77 27.05.2020 17:11 # +2
https://oopscenities.net/2018/03/04/auto-return-type-deduction/
nblXOMAKAKA 27.05.2020 17:16 # 0
ASD_77 27.05.2020 17:17 # 0
gost 27.05.2020 17:20 # +1
https://wandbox.org/permlink/bKAba8J1uAYzscIg
А вот если типы развращаемых значений разные будут — тогда да, тогда полшёт.
nblXOMAKAKA 27.05.2020 17:12 # +2
BEKTOPHblu_nETyX 27.05.2020 17:18 # 0
А что если сразу и там и там указать тип, интересно? )
А чем обосрновали они такое решение? Типа до разбора типов аргументов писатели конпеляторов не осилят децлтайп от этих аргументов обработаь или шо?
MAKAKA 27.05.2020 17:18 # 0
?
ASD_77 27.05.2020 17:42 # 0
gost 27.05.2020 17:22 # +1
До разбора типов аргументов этих самых аргументов просто не существует.
BEKTOPHblu_nETyX 27.05.2020 17:35 # 0
nblXOMAKAKA 27.05.2020 17:39 # 0
gost 27.05.2020 17:46 # +2
https://wandbox.org/permlink/WyVQF3f0DJMZ9N5f
gost 27.05.2020 17:53 # +3
https://wandbox.org/permlink/ffAAwiDWGumF1lzn
nblXOMAKAKA 27.05.2020 17:55 # 0
gost 27.05.2020 18:02 # +3
https://wandbox.org/permlink/d74yyHKBEnGSiQ0R
gost 27.05.2020 18:09 # +3
https://wandbox.org/permlink/IRMqmbEtP9GA8Ox4
1024-- 27.05.2020 21:05 # 0
При придумывании новых стандартов надо озаботиться выпиливанием такого говна, а не нагромождением синтаксиальной психозы.
nblXOMAKAKA 27.05.2020 17:36 # 0
Потом, конечно, компиляторы стали многопроходными, но осадочек остался.
ASD_77 27.05.2020 17:18 # 0
phpBidlokoder2 27.05.2020 18:33 # +1