
Alex Фэils?︙
14.09.2017
08:41:12
Ооо, hl3^W Boost Cookbook 3rd Edition confirmed!

Antony
14.09.2017
08:46:55
Пока только планы: выкинуть все Boost аналоги того, что есть С++11. Получится покрасивее, покомпактнее и позажигательнее
Даже TODOшку уже запилил, внизу страницы: https://github.com/apolukhin/Boost-Cookbook

Matwey
14.09.2017
08:49:36
/vzhuh@FailsBot

FailsBot
14.09.2017
08:49:37
∧_∧
( ・ω・。)つ━☆・*。
⊂ ノ ・゜+.
しーJ °。+ *´¨)
.· ´¸.·*´¨) ¸.·*¨)
(¸.·´ (¸.·'* ☆

Google

Mikhail
14.09.2017
08:51:33

Alex Фэils?︙
14.09.2017
08:52:05
Го хоть так

Mikhail
14.09.2017
08:53:16
Там что-то вчера про админов говорили, надо с ними согласовать. А то еще забанять за слайды)))

Square
14.09.2017
08:54:45
Просто объявляторы как правило ужасный текст пишут - все время править надо :(

Ilia
14.09.2017
08:55:26
Да вроде Анастасия всегда не против была....
Можно спросить..

Anatoly
14.09.2017
08:58:16
Можно прямо туда

Kirill
14.09.2017
09:08:53
очень посмотреть хотел

Mikhail
14.09.2017
09:13:50
С разрешения Насти слайды с доклада "Как не выстрелить в ногу, или инструменты из арсенала C++ разработчика
"
Докладчик: Анастасия Казакова. Слайды все по порядку, но местами плохое качество, сорри. https://www.dropbox.com/sh/78vgyrwa4g263u6/AAD0UivnJ-88FM7a-o32hCQVa?dl=0

Google

Kirill
14.09.2017
09:15:30
спасибище

Anatoly
14.09.2017
09:15:42

Mikhail
14.09.2017
09:16:06

Alex Фэils?︙
14.09.2017
09:55:29

Mikhail
14.09.2017
10:26:45

Alex Фэils?︙
14.09.2017
10:34:01

Ilia
14.09.2017
10:39:26
Думаю, пока нет больше

Mikhail
14.09.2017
10:39:48
Оф. записи видео на мероприятии не было

Alex Фэils?︙
14.09.2017
10:40:55
ок, хорошо ,спасибо

Eugene
14.09.2017
11:14:40

Kirill
14.09.2017
11:16:39

Eugene
14.09.2017
11:16:57
Ну я так и думал, просто уточнил.

Stanislav
14.09.2017
13:02:51

Evgeniy
14.09.2017
13:04:54
в 2028 выпилится с++14

Stanislav
14.09.2017
13:05:24
а в 2034 - С++17 ?

Evgeniy
14.09.2017
13:05:47

Дед Пегас
14.09.2017
13:05:57
C++20147

Alex Фэils?︙
14.09.2017
13:06:36

Google

Aidar
14.09.2017
13:09:59
Жду c++14882

Дед Пегас
14.09.2017
13:11:00

Aidar
14.09.2017
13:11:22

Evgeniy
14.09.2017
13:12:04

Aidar
14.09.2017
13:12:42

Evgeniy
14.09.2017
13:12:59

Anatoly
14.09.2017
13:24:54
А если я хочу без рекурсии выполнить операцию над аргументом function variadic template, а компилятор не поддерживает folding, единственное что у меня есть это initializer list:
template<typename ... Args>
std::string boo(Args ... args) {
std::ostringstream stream;
auto dummy_initializer_list_for_function_parameter_pack_expansion = {(stream << args, 0) ...};
return stream.str();
}
?

Evgeniy
14.09.2017
13:26:44

Anatoly
14.09.2017
13:27:23
можно, в данном случае stream << args для примера, в общем случае f(args)

fox.cpp
14.09.2017
13:28:01

Evgeniy
14.09.2017
13:28:37

fox.cpp
14.09.2017
13:29:07
f(arg0), f(arg1), etc получится

fox.cpp
14.09.2017
13:29:19
по идее, но думаю нормально это будет

Evgeniy
14.09.2017
13:29:53
вроде

fox.cpp
14.09.2017
13:30:02

Evgeniy
14.09.2017
13:30:28

fox.cpp
14.09.2017
13:31:23
думаю, что без списка инициализации не обойтись

Anatoly
14.09.2017
13:32:56

Google

Evgeniy
14.09.2017
13:36:08
сек, сяду в автобус и гляну код
а нет, там вызов метода

Admin
ERROR: S client not available

Evgeniy
14.09.2017
13:40:02
https://github.com/tiny-dnn/tiny-dnn/blob/6e8db0481045d06692807706bb953ab3960bccc0/tiny_dnn/core/framework/tensor.h#L319

Ilia
14.09.2017
14:05:19
CLang же надо самому собирать, готовых бинариев нет ? (Windows)

Stanislav
14.09.2017
14:07:38

Anatoly
14.09.2017
14:07:47

Дед Пегас
14.09.2017
14:07:50

Stanislav
14.09.2017
14:08:20
да и собирается он вроде не так долго

Kostya
14.09.2017
14:08:49
http://releases.llvm.org/download.html
(clang там есть)
оно?
Pre-Built Binaries: Clang for Windows (64-bit)

Anatoly
14.09.2017
14:09:26
а нет, там вызов метода
в итоге, получился my_apply:
#include <iostream>
#include <sstream>
#include <initializer_list>
#include <utility>
template<typename T>
void blackhole(std::initializer_list<T>&&) {}
template<typename F, typename ... Args>
void my_apply(F&& f, Args&& ... args) {
blackhole({ (f(std::forward<Args>(args)), 0) ... });
}
int main()
{
{
my_apply([cnt = 0](auto&& s) mutable {
if (cnt)
std::cout << ", ";
std::cout << std::move(s);
++cnt;
}, std::string("hello"), 10, 30.);
}
}


Александр
14.09.2017
14:11:34
в итоге, получился my_apply:
#include <iostream>
#include <sstream>
#include <initializer_list>
#include <utility>
template<typename T>
void blackhole(std::initializer_list<T>&&) {}
template<typename F, typename ... Args>
void my_apply(F&& f, Args&& ... args) {
blackhole({ (f(std::forward<Args>(args)), 0) ... });
}
int main()
{
{
my_apply([cnt = 0](auto&& s) mutable {
if (cnt)
std::cout << ", ";
std::cout << std::move(s);
++cnt;
}, std::string("hello"), 10, 30.);
}
}
я пропустил, но почему нельзя
int _[] { 0, (f(Args), 0), ... };
? Возможно где-то лишняя запятая

Anatoly
14.09.2017
14:13:33
folding не поддерживается пока MSVC

Александр
14.09.2017
14:14:02
это не фолдинг

Anatoly
14.09.2017
14:14:12
, - fold

Александр
14.09.2017
14:14:17
это parameter pack expansion или как там оно
фича из 11-х плюсов

Stanislav
14.09.2017
14:15:02

Google

Stanislav
14.09.2017
14:15:03
I suspect that the compiler team will want to implement fold expressions after the compiler’s data structures are “rejuvenated” (having an abstract syntax tree makes that kind of work much easier), so they might take a little longer than other features.

Anatoly
14.09.2017
14:15:19

Александр
14.09.2017
14:18:38
c++14, можно и 11-й, но лямбда полиморфная(

Anatoly
14.09.2017
14:20:35
здесь идет расширение за счет initializer list и, в принципе, не отличается от того, что я привел выше

Александр
14.09.2017
14:23:08
да, я запятую лишнюю поставил

Anatoly
14.09.2017
14:23:41
все равно, спасибо!

Александр
14.09.2017
14:24:17
а фолдинг тут вообще простой был бы
template <class F, class... Args>
void my_apply_17(F&& f, Args&& ...args) {
(f(args), ...);
}

Oleh
14.09.2017
14:24:30
ребят, а кому можно самые тупые вопросы завать?
задавать*

Matwey
14.09.2017
14:24:39
@supapro

Александр
14.09.2017
14:24:43
правда, если f - rvalue, то опасно вызывать её много раз через forward..