Preprocessor: refactor usage of GNU g++ specific features

git-svn-id: https://www.dynare.org/svn/dynare/trunk@2840 ac1d8469-bf42-47a9-8791-bf33cf982152
issue#70
sebastien 2009-07-13 09:13:42 +00:00
parent daae864666
commit 165ede20b4
2 changed files with 12 additions and 4 deletions

View File

@ -21,7 +21,11 @@
#include <iterator>
#include <algorithm>
#include <ext/functional>
// For select1st()
#ifdef __GNUC__
# include <ext/functional>
using namespace __gnu_cxx;
#endif
#include <cassert>
#include <cmath>
@ -103,7 +107,7 @@ ExprNode::collectModelLocalVariables(set<int> &result) const
set<pair<int, int> > symb_ids;
collectVariables(eModelLocalVariable, symb_ids);
transform(symb_ids.begin(), symb_ids.end(), inserter(result, result.begin()),
__gnu_cxx::select1st<pair<int, int> >());
select1st<pair<int, int> >());
}
void

View File

@ -26,7 +26,11 @@
#include <functional>
#ifdef DEBUG
# include <ext/functional>
// For select2nd()
# ifdef __GNUC__
# include <ext/functional>
using namespace __gnu_cxx;
# endif
#endif
#include <boost/graph/adjacency_list.hpp>
@ -320,7 +324,7 @@ StaticModel::computeNormalization()
n1++;
pair<multimap<int, int>::const_iterator, multimap<int, int>::const_iterator> x = natural_endo2eqs.equal_range(i);
if (find_if(x.first, x.second, compose1(bind2nd(equal_to<int>(), endo2eq[i]), __gnu_cxx::select2nd<multimap<int, int>::value_type>())) == x.second)
if (find_if(x.first, x.second, compose1(bind2nd(equal_to<int>(), endo2eq[i]), select2nd<multimap<int, int>::value_type>())) == x.second)
cout << "Natural normalization of variable " << symbol_table.getName(symbol_table.getID(eEndogenous, i))
<< " not used." << endl;
else