4 #ifndef __multicontact_api_geometry_curve_map_hpp__
5 #define __multicontact_api_geometry_curve_map_hpp__
7 #include <ndcurves/curve_abc.h>
9 #include <boost/serialization/access.hpp>
10 #include <boost/serialization/base_object.hpp>
11 #include <boost/serialization/map.hpp>
12 #include <boost/serialization/shared_ptr.hpp>
13 #include <boost/serialization/string.hpp>
15 #include <ndcurves/serialization/registeration.hpp>
20 template <
typename Curve>
21 struct CurveMap :
public std::map<std::string, Curve> {
23 typedef std::map<std::string, Curve>
Parent;
28 if (this->size() != other.size())
return false;
29 for (
typename Parent::const_iterator it = this->begin(); it != this->end();
31 if (other.count(it->first) < 1)
return false;
32 if ((it->second != other.at(it->first)) &&
33 !(it->second->isApprox(other.at(it->first).get())))
41 friend class boost::serialization::access;
42 template <
class Archive>
44 ar& BOOST_SERIALIZATION_BASE_OBJECT_NVP(
Parent);
48 #endif // CURVEMAP_HPP