Replace boost::bimap
parent
0ee985b629
commit
438e29353d
|
@ -44,7 +44,7 @@ void MetisIndex::augment(const FACTORGRAPH& factors) {
|
|||
for(const Key& key: *factors[i]) {
|
||||
keySet.insert(keySet.end(), key); // Keep a track of all unique keys
|
||||
if (intKeyBMap_.left.find(key) == intKeyBMap_.left.end()) {
|
||||
intKeyBMap_.insert(bm_type::value_type(key, keyCounter));
|
||||
intKeyBMap_.insert(key, keyCounter);
|
||||
keyCounter++;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -22,17 +22,9 @@
|
|||
#include <gtsam/base/types.h>
|
||||
#include <gtsam/base/timing.h>
|
||||
|
||||
// Boost bimap generates many ugly warnings in CLANG
|
||||
#ifdef __clang__
|
||||
# pragma clang diagnostic push
|
||||
# pragma clang diagnostic ignored "-Wredeclared-class-member"
|
||||
#endif
|
||||
#include <boost/bimap.hpp>
|
||||
#ifdef __clang__
|
||||
# pragma clang diagnostic pop
|
||||
#endif
|
||||
|
||||
#include <vector>
|
||||
#include <map>
|
||||
#include <unordered_map>
|
||||
|
||||
namespace gtsam {
|
||||
/**
|
||||
|
@ -45,12 +37,21 @@ namespace gtsam {
|
|||
class GTSAM_EXPORT MetisIndex {
|
||||
public:
|
||||
typedef std::shared_ptr<MetisIndex> shared_ptr;
|
||||
typedef boost::bimap<Key, int32_t> bm_type;
|
||||
|
||||
private:
|
||||
// Stores Key <-> integer value relationship
|
||||
struct BiMap {
|
||||
std::map<Key, int32_t> left;
|
||||
std::unordered_map<int32_t, Key> right;
|
||||
void insert(const Key& left_value, const int32_t& right_value) {
|
||||
left[left_value] = right_value;
|
||||
right[right_value] = left_value;
|
||||
}
|
||||
};
|
||||
|
||||
std::vector<int32_t> xadj_; // Index of node's adjacency list in adj
|
||||
std::vector<int32_t> adj_; // Stores ajacency lists of all nodes, appended into a single vector
|
||||
boost::bimap<Key, int32_t> intKeyBMap_; // Stores Key <-> integer value relationship
|
||||
BiMap intKeyBMap_; // Stores Key <-> integer value relationship
|
||||
size_t nKeys_;
|
||||
|
||||
public:
|
||||
|
|
Loading…
Reference in New Issue