
isnullxbh
14.06.2018
05:31:08
Ребят, всем привет! Подскажите, пожалуйста, кто юзает Boost.Beast - можно ли инстанс io_context стартовать в отдельном потоке?
Исходный код: https://goo.gl/od9bGo
//-------------
Вместо - ioc.run() делать std::thread([](io_context* ioc){ ioc->run(); }, &ioc).detach();

Matwey
14.06.2018
05:39:53

isnullxbh
14.06.2018
05:44:40

Aidar
14.06.2018
07:56:40
Это был вопрос по асио больше

Google

Aidar
14.06.2018
07:57:02
Более того в туториле по асио про это написано где-то в начале
Только не делай detach, ато словишь в лицо

isnullxbh
14.06.2018
08:43:14
Ну я и ловлю - ошибку, связанную с nullptr в std::weak_ptr )
А без детача - не могу - у меня есть абстрактный класс ISocket, и есть конкретные реализации типа CTCPSocket, CUnixSocket и я хотел WebSocket из Beast'а под этот интерфейс запилить
Как-бы запили, но не работает ))
У сервера свой жизненный цикл, вроде for(IWorker* worker: worker) worker->doWork(), как тогда без детача контекст стартануть?

Kirill
14.06.2018
10:16:38
кто поможет, пачаны?

Egor
14.06.2018
10:17:41
iostream поможет

Kirill
14.06.2018
10:17:54
бляяяя.
спасибо)).

asterisk
14.06.2018
10:25:26
не юзай new и delete
это так, бтв

Google

Andrey
14.06.2018
10:26:16
И под админом не сиди (простите за оффтоп)

Alexey
14.06.2018
10:28:50
Хм. А разве новичкам не нужно понять что такое new и delete и хотя бы минимально по граблям потоптаться?

Аттрибутивно-ассоциативный ряд
14.06.2018
10:30:24
“returning references to internal members is widely considered a code smell”. Когда возрат const-ref из класса стал плохим тоном?

Kirill
14.06.2018
10:33:52

Vhäldemar
14.06.2018
10:35:18
ну и речь идет о просто reference

Аттрибутивно-ассоциативный ряд
14.06.2018
10:39:13
const-ref норм или тоже дурной тон?

Aidar
14.06.2018
10:42:16

Vhäldemar
14.06.2018
10:46:51

Юра Незнанов
14.06.2018
10:47:36

isnullxbh
14.06.2018
10:48:28

Юра Незнанов
14.06.2018
10:49:03

Aidar
14.06.2018
10:49:34
Ну типа содержимое потока не расширяемо сейчас

isnullxbh
14.06.2018
10:53:43
Мне только-то и нужно чтобы он висел и не багался, если я правильно тебя понял.
@AsGreyWolf, а ты как думаешь, а это в целом норм прикручивать веб-сокеты в систему, в которой юзается поллинг?

yuri
14.06.2018
11:10:57

Аттрибутивно-ассоциативный ряд
14.06.2018
11:53:31
https://www.reddit.com/r/cpp/comments/8devw1/can_anyone_actually_name_a_compiler_that_doesnt/
Что думаете, посоны? Include guards или #pragma once? Встречали проблемы с #pragma once и pathological paths?

Aidar
14.06.2018
11:56:39
Я встречал проблемы с прагмаонсе которые фиксились гардом потомучто он более детерминирован, но это от кривизны рук

Igor
14.06.2018
12:00:39
один раз я наткнулся на чудо наподобие
#ifndef STRINGUTILS_H
#define STRINGUTIL_H
но чаще я натыкаюсь на принципиальное отсутствие хоть каких-нибудь гардов
#pragma ftw
#holywar

Google

yuri
14.06.2018
12:02:10
проблема с #pragma once и pathological paths была однажды, но много головной боли не доставила. MSVC

Аттрибутивно-ассоциативный ряд
14.06.2018
12:04:40
хочется уйти от таких вот проблем с инклудгардами, но слегка ссыкотно, потому что гцц и кланг не рекомендуэ пользоваться прагмами, в стандарт не берут. Проект большой и у какого-нибудь кастомера обязательно найдется тулчейн из бородатых 90х который не умеет в прагму %(

Igor
14.06.2018
12:09:02
+
Ссылку в студию про "gcc и clang не рекомендуют".

Igor
14.06.2018
12:14:48

Аттрибутивно-ассоциативный ряд
14.06.2018
12:19:47
https://github.com/cgmb/guardonce

Vhäldemar
14.06.2018
12:20:36
так, а в чем проблема, компилятор не поддерживает?

Аттрибутивно-ассоциативный ряд
14.06.2018
12:20:44
у нас слегка дурацкие правила для формата инклуд гардов, зависит от типа хедера (паблик АПИ, интернал АПИ, интернал компонент хедер)

Vhäldemar
14.06.2018
12:20:53
или так, поговорить?
pragma once

Igor
14.06.2018
12:21:25

Аттрибутивно-ассоциативный ряд
14.06.2018
12:22:47
читал старые доки. новые говорят “норм”. https://gcc.gnu.org/onlinedocs/cpp/Alternatives-to-Wrapper-_0023ifndef.html#Alternatives-to-Wrapper-_0023ifndef

Matwey
14.06.2018
12:58:22
Господа
Нужен совет по шаблонной магии

Alex Фэils?︙
14.06.2018
12:59:25
explicit bool будет в 20-м стандарте

Matwey
14.06.2018
13:00:11
Нужно сделать контейнер с поиском в компайл-тайме у которого ключем выступает тип, а значением переменная некоторого другого типа U.
Типа tuple/array но с индексацией не числами а типами

Andrei
14.06.2018
13:01:07
ребят, есть статические либы, у некоторых на конце буква s на конце, например libname32s.lib - что это?

Alex Фэils?︙
14.06.2018
13:01:10

Google

Alex Фэils?︙
14.06.2018
13:01:28

Ilia
14.06.2018
13:01:42

Andrei
14.06.2018
13:01:50
а без s - это просто экспортированные символы из dll?

Alex Фэils?︙
14.06.2018
13:02:00

Andrei
14.06.2018
13:02:04
спасибо

Alex Фэils?︙
14.06.2018
13:02:12
а что за либа?

Andrei
14.06.2018
13:02:29
glew - либа
glew32s glew32

Ilia
14.06.2018
13:02:43

Alex Фэils?︙
14.06.2018
13:02:47

Andrei
14.06.2018
13:03:06
первый раз просто встретился с таким
за 5 лет :D

Alex Фэils?︙
14.06.2018
13:03:28
нормально, это же конвенция, которой они следовали

Igor
14.06.2018
13:03:59

Andrei
14.06.2018
13:04:43
но идея хорошая, а то иногда непонятно, это статическая либа или просто export symbols для dll, особенно если размер либы маленький

Oleg
14.06.2018
13:05:03
Лол, словили прикольный баг на 11 плюсах с resiprocate.
У них там используются свои SharedPtr.
Так в 11 плюсах такой код падает:
mem->set(b->get());
set(SharedPtr t)
{
...
mLast.reset();
...
}
SharedPtr get()
{
...
return mLast;
}
Это из-за rvo?

Alex Фэils?︙
14.06.2018
13:05:23
надо смотреть асмокод

Evgeniy
14.06.2018
13:06:43

Google

Aleksandr
14.06.2018
13:14:00
а, ну можно даже проще. можно смотреть на дистанс между началом последовательности и тем, что вернул find - это и использовать как индекс в массиве. даже без списка пар получается

Tom
14.06.2018
13:46:51

Аттрибутивно-ассоциативный ряд
14.06.2018
14:34:48
Можете помочь с cmake. мне нужно создать фейко-таргет, для которого задать зависимости, а потом вытащить список зависимостей
project(FakeTarget)
add_custom_target(${PROJECT_NAME} EXCLUDE_FROM_ALL)
add_dependencies(${PROJECT_NAME}
Depenedency_one
Dependency_two
)
get_target_property(DEPS ${PROJECT_NAME} LINK_DEPENDS)
message(STATUS “Deps ${PROJECT_NAME}: ${DEPS}”)
результат
Deps FakeTarget: DEPS-NOTFOUND
просто список таргетов нельзя, потому что смейк должен “увидеть” зависимости

Baruch
14.06.2018
18:31:24
народ, а кто может организовать митап в Питере по Конану?