
Ned Ogl
28.10.2016
12:25:45
Может ли, вообще говоря, у шаблонного класса быть шаблонный же конструктор?
В том смысле, что с другим параметром.

Rafael
28.10.2016
12:28:19

Kirill
28.10.2016
12:33:51
да, но тот шаблонный параметр который передается в конструкторе нельзя будет передать в другое место вне конструктора

Google

Kirill
28.10.2016
12:38:05
вот так сделать не получится в общем
template <T>
class someclass
{
public:
template<G>
someclass(G data):mData(data)
private :
G mData
}
но если
вместо G передается класс который имеет интерфейс iSomeInterface то должно взлететь так вроде
template <T>
class someclass
{
public:
template<G>
someclass(G * data):mData(data)
private :
iSomeInterface* mData
}

Ned Ogl
28.10.2016
12:47:20
Кстати, как передавать функцию?
Через указатель?
Функцию в другую, чтобы первая была вызвана во второй

Дед Пегас
28.10.2016
12:48:29
Если не колбэк какой, то суй по значению)

Ned Ogl
28.10.2016
12:48:38
Колбэк

Анатолий
28.10.2016
12:48:49
тут плюсы онли или решётка тоже?

Ned Ogl
28.10.2016
12:49:08

Дед Пегас
28.10.2016
12:52:17
Ну дык так и сделой)
Ну или наверни std::function

Google

Ned Ogl
28.10.2016
12:52:58
Йа не хотеть стл

Дед Пегас
28.10.2016
12:53:06
А это шо?
Чем плохо?)

Ned Ogl
28.10.2016
12:53:23
Йа не знать стл

Дед Пегас
28.10.2016
12:53:34
._.

Ned Ogl
28.10.2016
12:53:35
Йа ебацца даже с ostream
Но успешно. Родилась оператор
<<
?

Дед Пегас
28.10.2016
12:54:07
int foo(int x, std::function<int(int)> bar) { return bar(x) }
;
Всё.
Чо тут ебацца.

Ned Ogl
28.10.2016
12:54:35
Тогда блядоюзеру придётся делать свой бар с стл
Он может бояцца
У меня сэмпл проект, заточен под студентоту
И под хедхантеров которые просят моего кода
Велосипед, словом, никому не нужный
Который я купил в ашане и прокачиваю до нормального

Дед Пегас
28.10.2016
12:56:49
Ничо ему не придётся делать.

Google

Дед Пегас
28.10.2016
12:57:08
type erasure, ёпта

Ned Ogl
28.10.2016
12:57:56
type erasure, ёпта
Эт чё за зверь? Типа когда компиль сам параметры в темплейты подставляет в компилтайме?
YA NOOBUS, всё ясно

Rafael
28.10.2016
15:39:44
а можно как-то вне функции получить ее имя?

Andrey
28.10.2016
15:41:25

Rafael
28.10.2016
15:41:48
а как тогда RPC делают? что за фигня :\

Andrey
28.10.2016
15:42:15

Дед Пегас
28.10.2016
15:42:15
Легко)
ент вон

Rafael
28.10.2016
15:43:12

Дед Пегас
28.10.2016
15:43:51
Это вот.*

Дед Пегас
28.10.2016
15:44:08

Andrey
28.10.2016
15:44:20

Дед Пегас
28.10.2016
15:44:37
RemoteObject("shit").Invoke("fuck", ... )
Выглядит как говно, но щито поделать.

Rafael
28.10.2016
15:45:20

Дед Пегас
28.10.2016
15:45:28
Можно ещё макраснёй обмазать, если в рамках одного приложения...

Andrey
28.10.2016
15:45:35

Дед Пегас
28.10.2016
15:45:36
...а если чо внешнее... ой вей.

Google

Дед Пегас
28.10.2016
15:45:54

Rafael
28.10.2016
15:46:04

Admin
ERROR: S client not available

Rafael
28.10.2016
15:46:10
а тут такой облом

Дед Пегас
28.10.2016
15:46:16
Хотя это фу.
Я бы вот ещё раскурил Haskell Cloud, как там сделано

Rafael
28.10.2016
15:47:21
т.е на плюсах не реализовать RPC?

Дед Пегас
28.10.2016
15:47:26
Вот была бы компилтайм рефлексия в плюсах!

Alexey
28.10.2016
15:47:36
Возьми трифт или protocol buffers
И посмотри
Легко

Andrey
28.10.2016
15:47:45
а тут такой облом
да этож целая тема, как ты там реализовать RPC собрался, какой протокол и т.д.

Rafael
28.10.2016
15:49:11
как протокол я решил юзать redis protocol, который будут юзать серверный и клиентский стабы

Anatoly
28.10.2016
15:49:53
редис протокол?)

Rafael
28.10.2016
15:49:55
и я думал что я смогу просто передать стабу функцию, и стаб уже сам достанет данне аргументов, и название функции

Anatoly
28.10.2016
15:50:20
тебе не кажется это жестью?

Rafael
28.10.2016
15:50:36

Alexey
28.10.2016
15:51:10
Дичь какая-то

Google

Дед Пегас
28.10.2016
15:51:16
Я думал, что любой протокол языконезависимый.

Andrey
28.10.2016
15:51:20

Rafael
28.10.2016
15:52:16
в задании меня не просят делать полноценный rpc, нас просто просят реализовать эту обстракцию как угодно

Anatoly
28.10.2016
15:55:46
а... хм... задание
а то даже есть на месаджпаке
https://github.com/jubatus/jubatus-msgpack-rpc/tree/master/cpp

Rafael
28.10.2016
15:57:38
а то даже есть на месаджпаке
https://github.com/jubatus/jubatus-msgpack-rpc/tree/master/cpp
к сожалению это юзать нельзя:
Сетевое взаимодействие должно быть вынесено за RPC-слой. RPC-слой вам нужно реализовать самостоятельно. От вас не требуется сверхоптимальный код; от вас требуется создать целостную абстракцию. Клиентский код (использующий RPC-сервис), серверный код (реализующий RPC-сервис), транспортный код (сериализация/десериализация, работа с сетью) должны быть разделены.

Ilya
28.10.2016
17:37:20
Может кто-то помнит: где-то год назад на хабре видел игру про решения дедлоков: два треда нужно выполнять код в обоих и добиться дедлока?

Evgeny
28.10.2016
17:37:48
https://deadlockempire.github.io/

Ilya
28.10.2016
17:39:01
Огонь☺️

Ned Ogl
28.10.2016
18:47:50
есть тут суперспецы, кто не погнушается почитать нубский код и покритиковать? всё работает, всё компилится, просто хочу здравой критики.