Макрос для получения текущего пространства имен и имени функции (но не полной подписи)?
Существует ли макрос C ++, который получает текущее пространство имен и имя функции? Пример:
namespace foo {
namespace bar {
void baz(int i, double d) {
std::cout << MACRO << std::endl;
}
}
}
будет печататьfoo::bar::baz
, я знаю__FUNCTION__
но это не дает пространства имен. А такжеBOOST_CURRENT_FUNCTION
дает всю подпись, в т.ч. аргументы и тип возвращаемого значения:
void foo::bar::baz(int, double)
Возможно, можно написать макрос, который извлекает пространство имен и имя функции изBOOST_CURRENT_FUNCTION
?
Я хочу, чтобы в целях ведения журнала, чтобы получить строку журнала, как
foo::bar::baz -- blah logging message blah