27 # include <tbb/concurrent_unordered_map.h> 28 # undef min // TBB seems to include Windows.h which defines these macros that cause problems 35 template <
typename KEY,
typename VALUE>
46 template <
typename KEY,
typename VALUE>
51 #include <boost/serialization/nvp.hpp> 52 #include <boost/serialization/split_member.hpp> 53 #include <boost/static_assert.hpp> 67 template<
typename KEY,
typename VALUE>
78 template<
typename INPUTITERATOR>
88 bool exists(
const KEY&
e)
const {
return this->count(e); }
94 typename Base::size_type
unsafe_erase(
const KEY& k) {
return ((Base*)
this)->erase(k); }
96 return ((Base*)
this)->erase(first, last); }
104 friend class boost::serialization::access;
105 template<
class Archive>
106 void save(Archive& ar,
const unsigned int )
const 110 std::copy(this->begin(), this->
end(), map.begin());
111 ar & BOOST_SERIALIZATION_NVP(map);
113 template<
class Archive>
114 void load(Archive& ar,
const unsigned int )
118 ar & BOOST_SERIALIZATION_NVP(map);
119 this->
insert(map.begin(), map.end());
121 BOOST_SERIALIZATION_SPLIT_MEMBER()
constexpr int last(int, int result)
void unsafe_erase(typename Base::iterator first, typename Base::iterator last)
ConcurrentMap(const ConcurrentMap< KEY, VALUE > &x)
ConcurrentMap(const Base &x)
bool exists(const KEY &e) const
Included from all GTSAM files.
ConcurrentMap(INPUTITERATOR first, INPUTITERATOR last)
constexpr int first(int i)
Implementation details for constexpr functions.
Array< double, 1, 3 > e(1./3., 0.5, 2.)
A thin wrapper around std::vector that uses a custom allocator.
void save(Archive &ar, const unsigned int) const
A thin wrapper around std::map that uses boost's fast_pool_allocator.
void unsafe_erase(typename Base::iterator position)
Base::size_type unsafe_erase(const KEY &k)
Point3_ position(const NavState_ &X)
std::vector< T, typename internal::FastDefaultVectorAllocator< T >::type > FastVector
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
ConcurrentMapBase< KEY, VALUE > Base
void load(Archive &ar, const unsigned int)