Boost logo

Boost :

Subject: [boost] __COUNTER__ vs __LINE__
From: lcaminiti (lorcaminiti_at_[hidden])
Date: 2012-01-11 13:28:25

Hello all,

Many of Boost macro APIs PP_CAT symbols with either __LINE__ or __COUNTER__
to make them unique (MPL_STATIC_ASSERT, SCOPE_EXIT, etc). AFAIK, __LINE__ is
C++03 standard while __COUNTER__ is only a MSVC extension. I think using
__COUNTER__ instead of __LINE__ might allow to expand a macro multiple times
on the same line... but a part from that:

What's the reason for using __COUNTER__ on MSVC instead of just using
__LINE__ for all compilers?

Thanks a lot.

View this message in context:
Sent from the Boost - Dev mailing list archive at

Boost list run by bdawes at, gregod at, cpdaniel at, john at