Далеко не факт. Если плюсы знаются хорошо и есть опыт в подобных делах, то нет особых причин изучать другой инструмент: зачем добавлять лаг обучения со сбором граблей (а они будут), когда можно просто сесть и делать?
Так только старт же, по мере необходимости буду добавлять фичи :) Пока что мне нужно было что-то очень простое, что может выдавать результат в json, и эта потребность у меня закрылась. Может быть, кому-то еще пригодится такой простой движок, поэтому я и поделился им.
Пробовал так делать изначально, оставались вообще фигурные скобки и то, что внутри (Module тоже ведь макрос, поэтому я могу сразу в нем все скрыть):
Module(u8"Module name", {
// ...
});
Но в таком варианте почему-то ломались автоотступы в VS2015/VS2017, т.е. все блоки Test были без отступов вообще. Чтобы не раздражало пришлось перейти на менее читабельный и компактный вид.
collect() принимает сериализатор и говорит ему какой массив нужно преобразовать, поэтому синтаксис выше будет некорректным или просто странноватым. Как вариант, можно задать сериализатор и сделать std::cout << core() << std::endl;, но это, на мой взгляд, как-то не удобно.
Возможно, стоит переименовать метод во что-то более говорящее, но в голову не пришло такое слово.
Да, можно собрать и подключать в проекты, но остается вопрос простого добавления сериализатора, например, в тот же JSON. Здесь же я сделал максимально просто, чтобы можно было выдать данные в каком угодно формате. Можно или только по этой статье написать сразу простейший сериализатор, или заглянуть в один из готовых — там короткие примеры, в которых легко будет и новичку разобраться.
Далеко не факт. Если плюсы знаются хорошо и есть опыт в подобных делах, то нет особых причин изучать другой инструмент: зачем добавлять лаг обучения со сбором граблей (а они будут), когда можно просто сесть и делать?
Так только старт же, по мере необходимости буду добавлять фичи :) Пока что мне нужно было что-то очень простое, что может выдавать результат в json, и эта потребность у меня закрылась. Может быть, кому-то еще пригодится такой простой движок, поэтому я и поделился им.
Для
std::function
контекст можно и с помощьюstd::bind
задать, но я из конкретно этого метода уже убрал std::function, оставил простоbool
.Пробовал так делать изначально, оставались вообще фигурные скобки и то, что внутри (
Module
тоже ведь макрос, поэтому я могу сразу в нем все скрыть):Но в таком варианте почему-то ломались автоотступы в VS2015/VS2017, т.е. все блоки
Test
были без отступов вообще. Чтобы не раздражало пришлось перейти на менее читабельный и компактный вид.А, понял задумку. Хорошая идея, попробую завтра поиграться.
collect()
принимает сериализатор и говорит ему какой массив нужно преобразовать, поэтому синтаксис выше будет некорректным или просто странноватым. Как вариант, можно задать сериализатор и сделатьstd::cout << core() << std::endl;
, но это, на мой взгляд, как-то не удобно.Возможно, стоит переименовать метод во что-то более говорящее, но в голову не пришло такое слово.