Boost logo

Geometry :

Subject: [ggl] inline keyword in class definition
From: Mateusz Loskot (mateusz)
Date: 2009-05-04 07:30:53


Barend Gehrels wrote:
>> "3 A function defined within a class definition is an inline
>> function."
>
> Boost often uses inline itself. I have the feeling that not all
> compilers inline what should be inline.

It looks to me this is more historical relict in Boost:

http://thread.gmane.org/gmane.comp.lib.boost.ublas/4638

Compilers are free to decide to inline or not, even if developer
uses all available techniques to suggest inlining: inline keyword
used with in-class definition of function, etc.

At level of source code, there is no way to force compiler to inline.
Though, it is possible using compiler specific switches/options to
configure compilation process.

However, it's hard to get clear explanation of the inline keyword
rationale even from Boost developers. This suggests it's still vague.

> So I got into the habit of adding it unless the functions where
> really large.
>
> If it is really obsolete (should also be checked then in the older
> GCC compilers) it can be removed of course.

Perhaps it's a good idea, after we find confirmation what's the real
and well-tested behaviour of current compilers.

Best regards,

-- 
Mateusz Loskot, http://mateusz.loskot.net
Charter Member of OSGeo, http://osgeo.org

Geometry list run by mateusz at loskot.net