LINUX.ORG.RU

Emacs, C++ enum'ы, генерация операторов ввода/вывода


0

0

Приветствую. Допустим, есть enum:

enum Color
{
    Red = 1,
    Green,
    Blue
};
Устанавливаем point внутри этого определения, нажимаем, скажем, C-c C-f, и получаем в новом буфере что-то вроде:
std::ostream& operator<<(std::ostream& s, Color c)
{
    switch (c) {
    case Red :
        return s << "Red";
    case Green :
        return s << "Green";
    case Blue :
        return s << "Blue";
    }
    return s << static_cast<int>(c);
}

std::istream& operator>>(std::istream& s, Color& c)
{
    // Реализация…
}
Мне кажется, что-то похожее уже должен был кто-то написать, но я не нашёл. Есть ли? Или это повод начать наконец осваивать Emacs Lisp?



Последнее исправление: undet (всего исправлений: 2)
Ответ на: комментарий от anonymous

Ну, это лучше чем ничего, конечно, но… Я так понимаю, всё равно много придётся вручную делать?

undet
() автор топика

SRecode из состава CEDET позволяет генерировать шаблоны на основе исходного кода

ott ★★★★★
()
Ответ на: комментарий от undet

You can save the macro as an elisp expression and then bound a hot key for later usage.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.