X-Git-Url: https://www.ginac.de/ginac.git//ginac.git?p=ginac.git;a=blobdiff_plain;f=ginac%2Fexpair.h;h=a285295899223a9268628cf639d9551ca01e238e;hp=91dd2323ffb2352bdaf0240acd2af9c150f7420e;hb=5825be1838e9790d538e3ad5c67e186266b1f057;hpb=69bed84cb2393c45b348aa795640e4a98d27e917 diff --git a/ginac/expair.h b/ginac/expair.h index 91dd2323..a2852958 100644 --- a/ginac/expair.h +++ b/ginac/expair.h @@ -97,19 +97,25 @@ public: return (is_ex_exactly_of_type(rest,numeric) && (coeff.is_equal(1))); } + + /** Swap contents with other expair. */ + void swap(expair & other) + { + rest.swap(other.rest); + coeff.swap(other.coeff); + } ex rest; ///< first member of pair, an arbitrary expression ex coeff; ///< second member of pair, must be numeric }; -/** Function object for insertion into third argument of STL's sort() etc. */ -class expair_is_less -{ -public: - bool operator()(const expair &lh, const expair &rh) const - { - return lh.is_less(rh); - } +/** Function objects for insertion into third argument of STL's sort() etc. */ +struct expair_is_less : public std::binary_function { + bool operator()(const expair &lh, const expair &rh) const { return lh.is_less(rh); } +}; + +struct expair_swap : public std::binary_function { + void operator()(expair &lh, expair &rh) const { lh.swap(rh); } }; } // namespace GiNaC