
Дед Пегас
13.09.2017
07:22:50
Олсо. Оффтоп: с днём погромиства вас!

Anatoly
13.09.2017
07:25:06
я не понял зачем
auto loophole(tag<0>);

Anton
13.09.2017
07:35:10

Ilia
13.09.2017
08:04:10

Google

Vania
13.09.2017
08:04:54

Alexander
13.09.2017
08:05:40
если он здесь, то можно баном вразумить его)

Ilia
13.09.2017
08:07:09
Да ладно, чё мы, шуток не понимаем ?

Antony
13.09.2017
08:37:50
Ах да, ещё вышло второе издание "Boost C++ Application Development Cookbook"
Все желающие могут менять,компилячить и запускать примерамы вот тут http://apolukhin.github.io/Boost-Cookbook
Ссылка на Github со всеми исходниками там тоже присутствует

Ilia
13.09.2017
08:42:13
Это открытая книга типа "Как варить Boost"?

Antony
13.09.2017
08:45:35
Ну она не очень открытая, открыты только исходники и введения. Самая мякотка (разжёввывание примеров, сравнение с C++11/C++14/C++17, идёт ли работа над добавлением в стандарт, какие нужны волшебные флажки чтобы ASIO научился работать с move-only callback и проч) не выложена
Скорее книга "100+ рецептов блюд из Буста и С++"

Aidar
13.09.2017
08:47:25
мне кстати такой формат не очень заходит
я пробовал читать vulkan cookbook
от того же издательства

Antony
13.09.2017
08:53:08
Мне кажется что сильно зависит от материала. Вот примеры с вулканом фиг уместишь на 1-2 страницы, из-за чего читать не сильно в кайф и рецепты сильно связанны друг с другом.
У меня в книге такая проблема только в паре мест с asio, остальное хорошо раздробилось на независимые части.

Stanislav
13.09.2017
08:55:12

Dmitry
13.09.2017
08:55:38

Google

Ilia
13.09.2017
08:56:39


Antony
13.09.2017
08:58:38
кстати, а есть где краткая инфа чем network ts от asio отличается? ну кроме io_service -> io_context , первое что заметил )
Сейчас пост на хабр пишется, в нем я в кратце пройдусь по различиям. Помимо того, что некоторые классы переименовали:
* В Networking TS можно передавать move-only callback. В ASIO для этого надо было на свой страх и риск поплясать с макросом BOOST_ASIO_DISABLE_HANDLER_TYPE_REQUIREMENTS. Так что если у вас есть функциональный объект с unique_ptr (например https://github.com/apolukhin/Boost-Cookbook/blob/second_edition/Chapter06/02_tasks_processor_timers/tasks_processor_timers.hpp#L17), то его можно спокойно использовать для callback
* Больше constexpr для базовых типов (например для ip::address).
* Вменяемые способы передачи аллокаторов: можно в класс-callback добавить allocator_type и метод allocator_type get_allocator(); можно специализировать шаблон associated_allocator и описать какие методы класса надо дёргать вместо get_allocator()


Stanislav
13.09.2017
08:59:03
а то у меня сил не хватило смотреть 3 часовую встречу где дядька про network ts говорит :)


Antony
13.09.2017
09:00:20
А будет выложена?
Я хочу выбить из издательства разрешение выложить первое издание в открытый доступ. Но ещё пока даже не приступал :)

Stanislav
13.09.2017
09:01:46
https://www.youtube.com/watch?v=dZdTOH9bFvs
https://www.youtube.com/watch?v=5H-hI98TYIE
вот это

Antony
13.09.2017
09:03:17
О! Я за него голосовал при отборе докладов на CppCon :)

Stanislav
13.09.2017
09:03:32
cppcon 2017 ?

Antony
13.09.2017
09:04:00
ага

Stanislav
13.09.2017
09:06:54
о, да, будет выступать про networking :) отлично

Antony
13.09.2017
09:21:15
там самое смачное, на мой взгяд, должно быть https://cppcon2017.sched.com/event/BgsT/naked-coroutines-live-with-networking?iframe=no&w=100%&sidebar=no&bg=no
Скрещивание Networking и Coroutines

Stanislav
13.09.2017
09:22:04
ох

Berkus
13.09.2017
09:48:52

Ilia
13.09.2017
09:49:31
Надо поглядеть на него сначала...Я не успел ещё

Anatoly
13.09.2017
09:51:04

Antony
13.09.2017
09:51:40

Anatoly
13.09.2017
09:52:01
loophole пашет на MSVC 15, 17

Google

Anatoly
13.09.2017
09:53:04
Антон, а для чего вот это объявление auto loophole(tag<0>);?

Antony
13.09.2017
09:53:42
MSVC 15 не умеет нормально в constexpr. Если повезёт - обойду, инче нужен MSVC 17

Berkus
13.09.2017
09:53:44

Anatoly
13.09.2017
09:54:38
по идее этого достаточно
template<typename T, int N>
struct loophole_t {
friend auto loophole(tag<N>) { return T{}; };
};

Berkus
13.09.2017
09:57:45
должна быть доступна декларация loophole() же

Anatoly
13.09.2017
09:59:39
не уверен, у меня 2015 компилирует
template<int N> struct tag {};
template<typename T, int N>
struct loophole_t {
friend auto loophole(tag<N>) { return T{}; };
};
//auto loophole(tag<0>);
int main()
{
sizeof(loophole_t<std::string, 0>);
decltype(loophole(tag<0>{})) a;
a = "1";
}
loophole_t<std::string, 0> по сути дает объявление и определение friend auto loophole ...

Berkus
13.09.2017
10:01:53
просто там inline friend с определением в структуре, не уверен насчет скопинга

Anatoly
13.09.2017
10:02:33
friend выносит его за скоп

Berkus
13.09.2017
10:04:32
не туда?

Андрей
13.09.2017
10:30:30
Всем привет, нужен человек, разбирающийся в криптографии и транспортных потоках передачи данных. Нужна консультация. Напишите плз в личку.

Berkus
13.09.2017
10:32:13

Oleg
13.09.2017
15:36:31
Всем привет!
Ребят,завтра иду на собеседование в компанию,которая занимается геоинформационными системами(навигаторами),одно из требований:"Хорошие знания в области векторной алгебры и аналитической геометрии. ". Аналитку сдавал два года назад и сдал на 5,но уже забыл большую часть.
Вопрос: Может кто-либо проходил подобные собеседования и знает на какие из разделов нужно обратить особое внимание,а какие скорее всего не нужны ? Спрашиваю это потому, что времени на подготовку очень мало.

Berkus
13.09.2017
15:40:15

cat.cpp (second account)
13.09.2017
15:44:04

Aidar
13.09.2017
15:44:36

Admin
ERROR: S client not available

Berkus
13.09.2017
15:44:38

Google

Matwey
13.09.2017
15:44:52
таких алгебр всего 4 существует
1 2 4 и 8-мерные

Berkus
13.09.2017
15:45:12
смотри что тебе проще )

cat.cpp (second account)
13.09.2017
15:46:05
а, не

Berkus
13.09.2017
15:46:49

Aidar
13.09.2017
15:47:59

cat.cpp (second account)
13.09.2017
15:48:44
я юзаю glUniformMatrix4fv

Berkus
13.09.2017
15:50:29
я его не юзаю
у кватернионов есть плюс - они не подвержены т.н. gimbal lock когда оси вращения в процессе вращения вдруг совпадают и обратно развращать это дело уже невозможно

Matway
13.09.2017
15:52:36

Berkus
13.09.2017
15:53:02
да, конечно

Александр
13.09.2017
15:53:22
Но они некоммутативны по умножению :(

Berkus
13.09.2017
15:53:47

Matwey
13.09.2017
15:53:50
как-будто бы матрицы поворота коммутативны по умножению

Александр
13.09.2017
15:54:12
Ну это понятно
Просто к матрицам привыкли все, а для многих кватернионы - те же комплексные числа

Matway
13.09.2017
15:54:46
BTW, в моих проектах я давно не передаю в вертексные шейдеры матрицы. Только кватернионы.

Google

Matwey
13.09.2017
15:55:17

nuke_bird
13.09.2017
17:06:07
Кватернионы даже дешевле чисто в плане вычислений
Энивэй, под конец все равно придется конвертить в матрицы и посылать на видеокарту

reagentoo
13.09.2017
18:32:36
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64488
в гцц теперь можно вариадики в initalizer list експандить

MrSmeet
13.09.2017
19:16:00