22 #include <boost/shared_ptr.hpp>
38 typedef std::vector<size_t>
V;
41 boost::shared_ptr<V> v_;
48 DSFBase(
const boost::shared_ptr<V>& v_in);
51 size_t find(
size_t key)
const;
54 void merge(
const size_t& i1,
const size_t& i2);
57 inline size_t findSet(
size_t key)
const {
return find(key);}
60 inline void makeUnionInPlace(
const size_t& i1,
const size_t& i2) {
return merge(i1,i2);}
70 std::vector<size_t> keys_;
77 DSFVector(
const std::vector<size_t>& keys);
80 DSFVector(
const boost::shared_ptr<V>& v_in,
const std::vector<size_t>& keys);
85 bool isSingleton(
const size_t& label)
const;
88 std::set<size_t> set(
const size_t& label)
const;
91 std::map<size_t, std::set<size_t> > sets()
const;
94 std::map<size_t, std::vector<size_t> > arrays()
const;
Definition: DSFVector.h:35
void makeUnionInPlace(const size_t &i1, const size_t &i2)
Definition: DSFVector.h:60
Included from all GTSAM files.
std::vector< size_t > V
Vector of ints.
Definition: DSFVector.h:38
Definition: DSFVector.h:67
size_t findSet(size_t key) const
Definition: DSFVector.h:57