Добавить префикс к элементам макроса - PullRequest
1 голос
/ 27 апреля 2011

Я работаю над превращением C ++ в Javascript , и я хотел бы написать макрос function, который выполняет следующее:

function (x, y, z, ...)
to
[=] (var a, var b, var x, var y, var z, ...) -> Object

В основном это будет:

function() -> "[=] (var a, var b) -> Object"
function(x) -> "[=] (var a, var b, var x) -> Object"
function(x, y) -> "[=] (var a, var b, var x, var y) -> Object"
...

Это не должно быть переменным, если это может работать для фиксированного числа элементов, которые работают для меня. Также, если требуется расширение компилятора, я хорошо с ним справлюсь.

Для информации мой текущий макрос следующий:

#define function(...) [=] (var a, var b, ##__VA_ARGS__) -> Object

Я пытался искать макро-трюки, но не могу найти то, что соответствует тому, что мне нужно.

Спасибо!

Ответы [ 2 ]

1 голос
/ 27 апреля 2011

Вы можете взглянуть на P99 . Он использует переменные макросы начиная с C99 для всех видов развертывания кода.

0 голосов
/ 27 апреля 2011

Страшно, что вы можете сделать с помощью препроцессора Boost . Это может даже справиться с этим @!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...