Мы выпустили очередной preview с поддержкой Create-from-use, как в C#. Например, по одной такой строчке:
m_Messages.push_back(Message(component, indent, message));
наш движок в одно нажатие генерирует вот это:
const std::string m_Component;
int m_Indent;
const std::string m_Message;
Message(const std::string &component,
int indent,
const std::string &message)
: m_Component(component)
, m_Indent(indent)
, m_Message(message)
{
}
Naming style, indenting и т.п. свободно настраивается. Вариант шаблонных типов (например std::string vs std::basic_string<char>) можно выбирать.
Вот тут можно почитать (на английском).
Вот здесь можно скачать поиграться.