21 #include <gtsam/config.h>
23 #if GTSAM_ENABLE_BOOST_SERIALIZATION
24 #include <boost/version.hpp>
25 #if BOOST_VERSION >= 107400
26 #include <boost/serialization/library_version_type.hpp>
28 #include <boost/serialization/nvp.hpp>
29 #include <boost/serialization/set.hpp>
38 namespace serialization {
52 template<
typename VALUE>
54 typename internal::FastDefaultAllocator<VALUE>::type> {
60 typedef std::set<VALUE, std::less<VALUE>,
68 template<
typename INPUTCONTAINER>
69 explicit FastSet(
const INPUTCONTAINER& container) :
70 Base(container.begin(), container.
end()) {
85 #ifdef GTSAM_ALLOCATOR_BOOSTPOOL
97 operator std::set<VALUE>()
const {
98 return std::set<VALUE>(this->begin(), this->
end());
103 return this->find(
e) != this->
end();
108 for (
typename Base::const_iterator it = this->begin(); it != this->
end(); ++it)
114 typename Base::const_iterator it1 = this->begin(), it2 =
other.begin();
115 while (it1 != this->
end()) {
130 #if GTSAM_ENABLE_BOOST_SERIALIZATION
132 friend class boost::serialization::access;
133 template<
class ARCHIVE>
134 void serialize(ARCHIVE & ar,
const unsigned int ) {
135 ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
Base);