@ProCxx

Страница 1239 из 2477
Constantine
24.08.2017
20:05:42
смотри, текущая реализация делает так enum class error_action_enum { skip = 0, assert = 1, exception = 2 };

std::vector<uint8_t> readFile(filename, error_action_enum)

Alexander
24.08.2017
20:06:21
ну вот, в рантайме выбирается всё это, не ок

Constantine
24.08.2017
20:06:50
как только сделают модули компиляции в С++ я сделаю этот параметр шаблонным)

Google
Like
24.08.2017
20:07:04
Доброй ночи :) "Маленькая" (наверное) жопа со сборкой проекта через cmake (https://pastebin.com/1PMENFNb) В случае с g++ -std=c++11 .... все без проблем собирается Как можно решить? :( (Если нужны CMakeLists - могу скинуть)

Constantine
24.08.2017
20:08:26
смотри, текущая реализация делает так enum class error_action_enum { skip = 0, assert = 1, exception = 2 };
так вот, чудо этой реализации в том, что exception сам выбирает, какого типа exception бросить

Alexander
24.08.2017
20:08:31
regex появился в С++11

Like
24.08.2017
20:08:43
https://stackoverflow.com/questions/6352123/multiple-directories-under-cmake

Like
24.08.2017
20:08:46
Я взял пример отсюда

regex появился в С++11
> set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD_REQUIRED ON) Стоит

Да и у меня там auto, он бы начал ругаться

Constantine
24.08.2017
20:09:43
а это схуяль так делается?
ну это делается для того, чтобы это перечисление было общее у readFile readString writeFile writeString

Alexander
24.08.2017
20:09:50
Да и у меня там auto, он бы начал ругаться
так, с какими флагами ты собираешь, что у тебя вылетает такой треш? просто компилишь cmake . && make ?

Google
Constantine
24.08.2017
20:09:58
заметь, что readString может бросить ошибку перекодировки

Alexander
24.08.2017
20:10:27
заметь, что readString может бросить ошибку перекодировки
я явно чего-то не знаю, потому что не совсем понимаю, почему так сделано)

Like
24.08.2017
20:10:56
https://pastebin.com/NQAazYAT

Вот так главный выглядит

Constantine
24.08.2017
20:11:08
я явно чего-то не знаю, потому что не совсем понимаю, почему так сделано)
смотри, если я сделаю _разные стандартные_ коллбеки для броска эксепшена из функций loadFile/loadString/..., то их кто-то когда-то перепутает

Like
24.08.2017
20:11:32
https://pastebin.com/NQAazYAT
> set(namesource_files main.cpp) В исходном все впорядке, просто редактировал только что...

Alexander
24.08.2017
20:11:48
да, ты быстрее)

Constantine
24.08.2017
20:11:54
а, ты намекаешь, что на самом деле тип исключения должен был определить пользователь... хм

Alexander
24.08.2017
20:12:29
Like
24.08.2017
20:12:34
Constantine
24.08.2017
20:12:44
и параметр на самом деле был exception_thrower<ExceptionType?)

Alexander
24.08.2017
20:12:47
Да На Json.cpp орет
а там выставлен С++11?

Like
24.08.2017
20:12:56
а там выставлен С++11?
В главном не достаточно?)

Alexander
24.08.2017
20:13:26
В главном не достаточно?)
я не гуру cmake, попробуй перенести выше требования к С++11. Выше Add_subdirectory

и да, вангую, что недостаточно в корне

Like
24.08.2017
20:13:38
Да, не достаточно

Спасибо

Alexander
24.08.2017
20:13:56
?

ну просто согласись, что было бы немного глупо делать рекурсивно)

Google
Alexander
24.08.2017
20:14:44
потому что можно отхватить проблем на ровном месте

Constantine
24.08.2017
20:17:40
хм... а между прочим, в каком-то смысле это круто

Vladislav
25.08.2017
01:15:22


Alexander
25.08.2017
01:19:20
баян ?

Vladislav
25.08.2017
01:45:14
Роскомнадзор в чате, все в машину!

Ilia
25.08.2017
04:38:43
колбэк
Фу, как в #mfc...

Но могу и соврать. У hdd тоже кеш есть.
Ты что-ли , Ваня? Не узнал!

Constantine
25.08.2017
04:44:46
Ну зря не хочешь исключение кидать. Забудут обработать -не оправдание.
Ты участвовал в промышленной разработке? В продакшене программа упадет

Ilia
25.08.2017
04:46:15
Ну так упадет раз - и исключение быстро обработают... А в промышленной... Нет, не участвовал... Все хрень какую-то пишу...

Constantine
25.08.2017
04:50:28
Ilia
25.08.2017
04:52:47
немного наркомания получается
Я делал когда-то что-то типа стратегии, назвал processing slot. Идея в том, что ты алгоритм делишь на фасадную часть и реализацию, процессор. Процессор запускается в заданном снаружи processing slot, у которого есть интерфейс для запуска processor, и который ответственен за его запуск, а также за то, чтобы генерировать и обрабатывать исключения.

Admin
ERROR: S client not available

Ilia
25.08.2017
04:57:40
Фасад, Слот и процессор друг друга превызавают, пока не сделают дело. Processing slot день стратегию, как выполнять алгоритм, как реагировать на ошибки.
processing slot задаётся в объекте, который выполняет алгоритм, можно делать разные реализации (там GoF Bridge используется), и библиотека даёт дефолтную реализацию processing slot, и ее задаёт в качестве дефолтного processing slot при вызове алгоритма.

Я это использовал для задания стратегии выполнения запроса к БД, их же надо уметь повторять...
Это все наверняка GoF Strategy, но поскольку у меня были нюансы, я вот так сформулировал для себя.

Просто к тому, что тут правило "сами дураки" звучит как-то очень странно
Нормальное правило. В программировании по другому вообще никак... Особенно когда библиотеку пишешь...

Google
Constantine
25.08.2017
05:05:18
Мне пока определенно нравится идея с коллбеком, который либо принимает function либо унифицированное имя через extension point, и я ушел в размышления над этим. Там вроде аккуратно получится подпихать унифицированные реализации

Constantine
25.08.2017
05:08:38
Я имею в виду конечно сущность с кодовым названием customizable_error_handler

Просто с точки зрения интерфейса это void () (exact_error_info const&)

Только хитро созданный

Ilia
25.08.2017
05:13:27
Ну и про GoF TemplateMethod тоже почитай. Может быть даже эта моя хрень скорее на него похожа.

Constantine
25.08.2017
05:13:59
Как GoF расшифровывается?

Vladislav
25.08.2017
05:16:11
Gang of Four

Constantine
25.08.2017
05:16:27
А, понял)

Ilia
25.08.2017
05:16:50
Как GoF расшифровывается?
Гамма, Хелм,Джонсон,Влиссидес

А что, этот ваш бот, можно его заставить статьи из GoF слать? Мы ему значит, что-то типа #gof::Strategy , а он нам - статью, или ссылку... GoF у меня есть електронный...

Ещё boost optional такой есть

Constantine
25.08.2017
05:26:22
Хм... кажется мои мысли сошлись. С точки зрения вызывающего сигнатура функции содержит builder, с точки зрения функции содержит function

Надо просто совместить? :)

Ещё boost optional такой есть
У меня есть минивелосипед, жду в стандарте

Ilia
25.08.2017
05:48:51
Чего?

Антон
25.08.2017
05:54:07
кто шарит в xlib?

Страница 1239 из 2477