
David Abrahams wrote:
Toon Knapen <toon.knapen@fft.be> writes:
When using BOOST_STATIC_CONSTANT, the member still need to be _defined_ in a .cpp file (IIUC 9.4.2 par 4 of the standard), unless the enum-trick is used, right?
Unless you believe the DR which says you don't need to do that.
But the question is. Do we comply with the standard of the DR ?
However gcc, intel-linux and the mipspro compiler (and probably others) do not require a seperate definition. OTOH IBM/VisualAge does really _need_ the definition (otherwise the symbols are undefined when linking).
Would'nt it be better to advise library-developers to use an enum instead of BOOST_STATIC_CONSTANT if their library does not contain a definition?
Haven't we been over this many times before? I don't remember the rationale, but I guess the answer is no.
AFAICT in the archives is says that a definition should be present: http://lists.boost.org/MailArchives/boost/msg59270.php http://lists.boost.org/MailArchives/boost/msg59273.php It is a pitty that there is no mention of this in http://www.boost.org/more/int_const_guidelines.htm (I have asked John Maddock about this (who has the copyright on this page) but I think he is on vacation or soth so I decided to contact the ml) toon