21 #include <boost/serialization/nvp.hpp> 22 #include <boost/serialization/set.hpp> 30 namespace serialization {
44 template<
typename VALUE>
46 typename internal::FastDefaultAllocator<VALUE>::type> {
52 typedef std::set<VALUE, std::less<VALUE>,
60 template<
typename INPUTITERATOR>
66 template<
typename INPUTCONTAINER>
67 explicit FastSet(
const INPUTCONTAINER& container) :
68 Base(container.begin(), container.
end()) {
81 #ifdef GTSAM_ALLOCATOR_BOOSTPOOL 93 operator std::set<VALUE>()
const {
94 return std::set<VALUE>(this->begin(), this->
end());
99 return this->find(e) != this->
end();
104 for (
typename Base::const_iterator it = this->begin(); it != this->
end(); ++it)
110 typename Base::const_iterator it1 = this->begin(), it2 = other.begin();
111 while (it1 != this->
end()) {
127 friend class boost::serialization::access;
128 template<
class ARCHIVE>
130 ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(Base);
constexpr int last(int, int result)
void print(const std::string &str="") const
Concept check for values that can be used in unit tests.
BOOST_CONCEPT_ASSERT((boost::RandomAccessRangeConcept< ListOfOneContainer< int > >))
void merge(const FastSet &other)
bool exists(const VALUE &e) const
boost::fast_pool_allocator< T > type
FastSet(INPUTITERATOR first, INPUTITERATOR last)
constexpr int first(int i)
Implementation details for constexpr functions.
void serialize(ARCHIVE &ar, const unsigned int)
Array< double, 1, 3 > e(1./3., 0.5, 2.)
bool equals(const FastSet< VALUE > &other, double tol=1e-9) const
void set(Container &c, Position position, const Value &value)
FastSet(const INPUTCONTAINER &container)
std::set< VALUE, std::less< VALUE >, typename internal::FastDefaultAllocator< VALUE >::type > Base
set noclip points set clip one set noclip two set bar set border lt lw set xdata set ydata set zdata set x2data set y2data set boxwidth set dummy x
An easy way to control which allocator is used for Fast* collections.
FastSet(const FastSet< VALUE > &x)