
Stanislav
09.06.2017
14:34:19

Igor
09.06.2017
14:39:32

Stanislav
09.06.2017
14:42:56

Vladislav
09.06.2017
14:43:17

Google

Igor
09.06.2017
14:44:12
constexpr StaticString<1> concatenate(StaticStringList<>) { return {""}; }
сразу вспомнился курс Prolog'а

Александр
09.06.2017
14:45:44
1?
нелогично как-то

Alex Фэils?︙
09.06.2017
14:57:40
1?
Оьычный шаблонный рекурсивный спуск

Александр
09.06.2017
14:58:12
а, или это кусок кода откуда-то
видимо, 1 = длина строки с '\0'

Alex Фэils?︙
09.06.2017
15:02:37
я не понял, что означает 1
раньше на этапе компиляции всякие циклы и прочую рекурсию считали типа твкого:
template<int N> int f() {
return N * f<N-1>();
}
template<>
int f<1>() {
return 1;
}

Александр
09.06.2017
15:03:45

Alex Фэils?︙
09.06.2017
15:06:10
А. Да, понял) но вообще предположение с '\0' хорошо поясняет такой выбор

Alexander
09.06.2017
15:28:51
https://dev.by/lenta/main/bit-componets
чего только не сделают, лишь стандартную либу не делать удобной для людей

Vladislav
09.06.2017
15:36:51

Google

Anatoly
09.06.2017
15:37:02
да пора бы уже стандарной библиотеке самой расширяться под нужды программиста

Vladislav
09.06.2017
15:37:34

Дед Пегас
09.06.2017
15:37:47

Anatoly
09.06.2017
15:41:31
например, на #include <count_sort> компилятор должен сходить в boost.org, заказать разработку, получить уведомление о завершении и пропатчить стандартную либу

Vladislav
09.06.2017
15:46:11
#include <auto>

Александр
09.06.2017
15:48:04
#auto

Kował
09.06.2017
15:48:20
Но ведь надо гибкость, чтобы програмист сам мог дописывать и расширять стандартную либу

Surreal
09.06.2017
15:48:32
#include <auto>
Есть же IWYU. Надо допилить, чтобы он докачивал исходники еще необходимые.

Evgeniy
09.06.2017
15:48:36
#include <auto>
#include <auto>
template <typename... AutoArgs>
auto main(AutoArgs... args) {
return auto::auto(args...);
}

Vladislav
09.06.2017
15:48:52
#auto
Это программа на c++38 целиком

Stanislav
09.06.2017
15:48:53
> Некоторые из проектов на Bit состоят в буквальном смысле из одной строки.

Surreal
09.06.2017
15:49:26

Anatoly
09.06.2017
15:55:18

Constantine
09.06.2017
18:36:46
Это программа на c++38 целиком
Есть инфа про этот стандарт
do class if inline
bool this delete define
this do int break sizeof public
try if struct for auto static
while

Surreal
09.06.2017
18:43:15

Constantine
09.06.2017
18:46:29

Dmitry
09.06.2017
18:47:15
))

Evgeniy
09.06.2017
18:47:41

Alex Фэils?︙
09.06.2017
18:48:11
Заклинание, оптимизирующее код

Ruslan
09.06.2017
18:48:30

Google

Constantine
09.06.2017
18:48:40

Vladislav
09.06.2017
19:35:50
> Atomic smart pointers (std::atomic_shared_ptr and std::atomic_weak_ptr)
больше смарт-поинтеров богу смарт-поинтеров!
(отсюда https://en.wikipedia.org/wiki/C%2B%2B20)

Alexey
09.06.2017
19:37:56
А поддержка JSON идет в разделе networking с++20, надеюсь?

Vladislav
09.06.2017
19:38:45

Alexey
09.06.2017
19:42:31
а зачем json в коробке? Полно хороших сторонних библеотек есть
Было бы гораздо удобнее иметь стандартную реализацию работы с json\xml.
Есть куча разных библиотек, но чего-то я бы не сказал,что они удобные(
В Qt, например, можно работать с JSON, но это насилие над личностью.
Мне очень нравится как организована работа с JSON в golang, хотелось бы чего-то похожего в плюсах.

Alex Фэils?︙
09.06.2017
19:44:35
Можнотзапилить подобный механизм в крестах

Vladislav
09.06.2017
19:45:26
с интроспекцией в плюсах плоховато, чтобы именно так сделать
вот эта либа - огонь https://github.com/nlohmann/json

Alex Фэils?︙
09.06.2017
19:46:27
Алсо magic_get )))

Vladislav
09.06.2017
19:46:48
тут они каким-то образом сделали, но я не знаю насколько гибко
https://github.com/nlohmann/json#arbitrary-types-conversions

Alex Фэils?︙
09.06.2017
19:47:23

Stanislav
09.06.2017
19:47:41

Vladislav
09.06.2017
19:47:45

Stanislav
09.06.2017
19:48:27
как и автор fmt

Alex Фэils?︙
09.06.2017
19:48:36
Как я понял

Google

Vladislav
09.06.2017
19:49:09
не, см. пример по ссылке

Alexey
09.06.2017
19:49:58
To make this work with one of your types, you only need to provide two functions:
to_json
from_json
Ну лол

Stanislav
09.06.2017
19:50:07

Alex Фэils?︙
09.06.2017
19:50:13

Vladislav
09.06.2017
19:51:23

Admin
ERROR: S client not available

Vladislav
09.06.2017
19:52:21
можно конечно thrift юзать, он генерит код в том числе для json'а
еще можно на boost.hana накалякать

Дед Пегас
09.06.2017
19:54:25
Имея модули и общую идеологию можно иметь бесконечно расширеяему стандартную библиотеку без оверхеда.

Vladislav
09.06.2017
19:54:26
там даже пример есть https://github.com/boostorg/hana/blob/master/example/misc/from_json.cpp

Саня
09.06.2017
19:55:52
Парнии
Есть у кого?хорошая литература по изучению computer scince

Vladislav
09.06.2017
19:57:41
слишком общий вопрос, какая область конкретно интересует?

Alexey
09.06.2017
20:03:01
using namespace std;
#define _NAME_OF_ARG(ARG) #ARG
int main(int argc, char *argv[])
{
struct Student{
char* name;
char *surname;
};
Student student;
std::cout << _NAME_OF_ARG(student.name)<<std::endl;
std::cout << _NAME_OF_ARG(student)<<std::endl;
std::cout<<typeid(student.surname).name()<<std::endl;
return 0;
}
Вот я по ходу выполнения программы узнаю тип переменной и её имя.
Если заморочиться со вложенными структурами, то можно сделать golang-подобный парсер json.
Разметка уплыла(

Stanislav
09.06.2017
20:04:35
есть же няшный https://github.com/apolukhin/magic_get

Vladislav
09.06.2017
20:05:27

Саня
09.06.2017
20:06:12

Google

Stanislav
09.06.2017
20:06:15

Vladislav
09.06.2017
20:08:22
ох, они там как-то абьюзят aggregate initialization внутри

Stanislav
09.06.2017
20:08:36
@antoshkka

Vladislav
09.06.2017
20:08:41
правда имена полей так не выдернешь

Alex Фэils?︙
09.06.2017
20:09:50
но как, Холмс?
Я ж кидал сюда. Антон рассказывал на первой встрече рг21)

Vladislav
09.06.2017
20:09:54
но вообще крутая штука, с ней можно компараторы/хеши для произвольных POD генерить

Stanislav
09.06.2017
20:10:07

Alex Фэils?︙
09.06.2017
20:10:20
Бля. Надо б в основной канал запостить эти заметки

Stanislav
09.06.2017
20:10:24
https://www.youtube.com/watch?v=MbbOsKMA3rk

Vladislav
09.06.2017
20:10:40

Stanislav
09.06.2017
20:12:37
https://www.youtube.com/watch?v=jDI5CHKFKd0
этот получше

Alex Фэils?︙
09.06.2017
20:14:01

Vladislav
09.06.2017
20:14:13
транскрайб - это как?

Stanislav
09.06.2017
20:14:23

Alex Фэils?︙
09.06.2017
20:14:27