[GRASS5] C and C++ compiler changes?

Glynn Clements glynn.clements at virgin.net
Wed Oct 22 21:07:49 EDT 2003

Laura Toma wrote:

> Yes, only for C++. It certainly is a pain to maintain C++ with the new 
> gcc 3.x, but there's no way around it..It's  the price to pay for 
> efficient code.
> The main reason r.terraflow is in C++ instead of C is templating.

In that case, some portability issues are probably inevitable.
Templates were one of the last things to be standardised, and one of
the last things to be fixed in gcc.

> All 
> functions are templated and the type is determined at runtime,

Er, compile time, right? Or is it using virtual methods?

> causing 
> the appropriate function to be instantiated. This is more efficient than 
> using void* in C, and also saves *a lot* of redundant code.  

Is this just for ELEV_SHORT vs ELEV_FLOAT, or is it more extensive
than that?

Glynn Clements <glynn.clements at virgin.net>

More information about the grass-dev mailing list