Создание макроса в программе на C ++ с библиотекой Boost.Preprocessor - PullRequest
0 голосов
/ 18 января 2020

Я пытаюсь придумать MACRO, который обернул бы этот код C ++:

event e{ description{"event name", {"category1","category2"}, { {"param1", "val1"},{"param2", "val2"} } };

Так что я могу использовать что-то вроде:

 DUR_EVENT("name", ("c1")("c2"), ...);

Я могу легко сделать часть до ... как:

#define DUR_EVENT(name, cat, arg) \
     duration_event event{ event_description(name, {BOOST_PP_SEQ_ENUM(cat)},

Но я изо всех сил пытаюсь получить ... часть, которая должна переводиться в:

{ {"param1", "val1"},{"param2", "val2"} }

... часть должна быть примерно такой (логически) или похожей

(param1,val)(param2,val),...

, поэтому вызов макроса будет:

DUR_EVENT("name", ("c1")("c2"), (param1,val)(param2,val));

Я пробовал разные комбинации BOOST Макросы, но не смог сделать это правильно. Любая помощь будет принята с благодарностью.

...