Re: [eigen] matrix exponential with c++0x

[ Thread Index | Date Index | More lists.tuxfamily.org/eigen Archives ]


On 12/03/2009 11:40 AM, Benoit Jacob wrote:
2009/12/3 mmoll<Markus.Moll@xxxxxxxxxxxxxxxx>:
Just a side note: avoid all names like _UnderscoreUppercase and
doubleunderscore__anywhere, they are reserved for the library
implementation. With something as generic as _Functor I see a real
danger of collision there (_Functor could be an arbitrarily mean macro...).
(But I wouldn't recommend using _EigenAvoidNameClashFunctor either)
I know, but we already have many of those, and it's rather convenient.
The other problem is that even if we adhere to that rule, we're still
not save from conflicts, for example standard library implementations
tend to define many preprocessor symbols without that convention, e.g.
'minor' on GCC... So far our attitude was just to cross fingers and in
case of conflict, work on a case by case basis...

No one asked for my opinion, but I'll give it anyway.

My best practice is to use template parameters like:

template < typename T_Data1, int T_Param1>

The "T_" makes them stand out in the code and would seem to mitigate the name collision problems we are seeing.

-- Mark





Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/