Boost logo

Proto :

Subject: [proto] Grouping expressions
From: Bart Janssens (bart.janssens_at_[hidden])
Date: 2011-12-29 13:07:26


Hi guys,

Currently, we are using the proto operator() overload and grammars to
"group" expressions together. The result is one big expression that
consists of several sub-expressions. An example can be found here:
https://github.com/coolfluid/coolfluid3/blob/master/plugins/UFEM/src/UFEM/NavierStokes.cpp#L93

The problem with this approach is that for example the file above
takes over 2GB of RAM to compile. I think this is due to the size of
the expression (the group(...) call starting on line 93 is a single
expression).

I was wondering if it would be useful to find some other way to treat
a group of expressions, maybe by using a fusion vector of expressions,
or even using the new variadic templates of C++11? Could this have a
significant impact in reducing the compiler memory usage? An extra
complication is that the groups may be nested. In the example, there
is a second sort of group inside the element_quadrature call.

Kind regards,

-- 
Bart

Proto list run by eric at boostpro.com