Boost logo

Boost :

Subject: Re: [boost] bcp update #2: namespace renaming
From: Artyom (artyomtnk_at_[hidden])
Date: 2010-01-01 15:58:36


>
> Indeed, however your script would still miss (all?) of the
> extern "C"
> callbacks in current Trunk.

You right, my script does not handle them.

I've checked some of them:

> asio_detail_posix_thread_function

Even it is defined as extern "C" it is inline function thus it should
not even appear in object file. Not a probem

> free_static_mutex
> at_thread_exit
> on_process_exit
> on_process_enter
> on_thread_enter
> on_thread_exit

Indeed, bad, but this is specific library bug and should be reported
to their maintiainers.

Library developers should make sure to use proper namespaces in "C like"
functions: i.e. add "boost_" prefix as it is done with #define's

> Plus all of the TR1 math functions (which should definitely
> not be renamed
> IMO).

What do you mean? It is still under boost::tr1:: or am I wrong?

> Obviously these could be renamed as special cases easily
> enough... but
> maintaining a manual list of API's to rename is a
> maintainance nightmare.
>
> Any better ideas?

Report bugs to developers and fix them.

If someone declares
  
  extern "C" void my_func();

It pollutes global namespace -- rename it to boost_my_func

Artyom

      


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk