Mattia F.
Mattia F.

Reputation: 1740

Comma between operators in C++

Today I came across this piece of code (inside boost/type_index/type_index_facade.hpp, lines 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's TypeInfo classes.
bool operator ==, !=, <, ... (const type_index_facade& lhs, const TypeInfo& rhs) noexcept;

/// noexcept comparison operators for type_index_facade's TypeInfo and type_index_facade classes.
bool operator ==, !=, <, ... (const TypeInfo& lhs, const type_index_facade& rhs) noexcept;

Can someone explain me what does it mean? I have never seen before something like "==, !=, <, ..."

Upvotes: 14

Views: 845

Answers (1)

md5i
md5i

Reputation: 3083

You'll notice that these are written within:

#if defined(BOOST_TYPE_INDEX_DOXYGEN_INVOKED)
    ...
#endif

This is just a hack to make doxygen use these "simplified" declarations in the documentation. This bit of the code is never compiled.

Upvotes: 31

Related Questions