author | Michael Krelin <hacker@klever.net> | 2008-06-27 18:32:31 (UTC) |
---|---|---|
committer | Michael Krelin <hacker@klever.net> | 2008-06-27 18:32:31 (UTC) |
commit | a344edbdddeac51524001faa10d06f85cfdb041c (patch) (side-by-side diff) | |
tree | bca2afabf4fdc53324fc48e101fc9de068404e47 /lib/fields.cc | |
parent | 9737a1eb0f01cdc805c4a28f0a86734eb3bb4d31 (diff) | |
download | libopkele-a344edbdddeac51524001faa10d06f85cfdb041c.zip libopkele-a344edbdddeac51524001faa10d06f85cfdb041c.tar.gz libopkele-a344edbdddeac51524001faa10d06f85cfdb041c.tar.bz2 |
Fix for gcc 4.3
Thanks to Oden Eriksson of Mandriva for report and patch
Signed-off-by: Michael Krelin <hacker@klever.net>
-rw-r--r-- | lib/fields.cc | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/fields.cc b/lib/fields.cc index d494098..91fbc41 100644 --- a/lib/fields.cc +++ b/lib/fields.cc @@ -1,53 +1,55 @@ #include <opkele/types.h> #include <opkele/exception.h> #include <opkele/util.h> +#include <algorithm> namespace opkele { + using std::for_each; using std::unary_function; struct __om_copier : public unary_function<const string&,void> { public: const basic_fields& from; basic_fields& to; __om_copier(basic_fields& t,const basic_fields& f) : from(f), to(t) { } result_type operator()(argument_type f) { to.set_field(f,from.get_field(f)); } }; basic_fields::basic_fields(const basic_fields& x) { x.copy_to(*this); } void basic_fields::copy_to(basic_fields& x) const { x.reset_fields(); for_each(fields_begin(),fields_end(), __om_copier(x,*this) ); } void basic_fields::append_to(basic_fields& x) const { for_each(fields_begin(),fields_end(), __om_copier(x,*this) ); } struct __om_query_builder : public unary_function<const string&,void> { public: const basic_fields& om; bool first; string& rv; const char *pfx; __om_query_builder(const char *p,string& r,const basic_fields& m) : om(m), first(true), rv(r), pfx(p) { for_each(om.fields_begin(),om.fields_end(),*this); } __om_query_builder(const char *p,string& r,const basic_fields& m,const string& u) : om(m), first(true), rv(r), pfx(p) { rv = u; if(rv.find('?')==string::npos) rv += '?'; else first = false; for_each(om.fields_begin(),om.fields_end(),*this); } |