Запятая между операторами в С++
Сегодня я наткнулся на эту часть кода (внутри boost/type_index/type_index_facade.hpp, строки 252-259).
/// noexcept comparison operators for type_index_facade classes.
bool operator ==, !=, <, ... (const type_index_facade& lhs, const type_index_facade& rhs) noexcept;
/// noexcept comparison operators for type_index_facade and it TypeInfo classes.
bool operator ==, !=, <, ... (const type_index_facade& lhs, const TypeInfo& rhs) noexcept;
/// noexcept comparison operators for type_index_facade TypeInfo and type_index_facade classes.
bool operator ==, !=, <, ... (const TypeInfo& lhs, const type_index_facade& rhs) noexcept;
Может кто-нибудь объяснить мне, что это значит? Я никогда не видел перед чем-то вроде "==,! =, <,..."
Ответы
Ответ 1
Вы заметите, что они написаны внутри:
#if defined(BOOST_TYPE_INDEX_DOXYGEN_INVOKED)
...
#endif
Это просто взломать, чтобы заставить кислород использовать эти "упрощенные" объявления в документации. Этот бит кода никогда не компилируется.