Add edge-based graph loading in MLD facade
This commit is contained in:
committed by
Patrick Niklaus
parent
53b0417e36
commit
f42136637d
@@ -106,6 +106,18 @@ template <typename DataT> class SharedMemoryWrapper
|
||||
return m_ptr[index];
|
||||
}
|
||||
|
||||
const DataT &front() const {
|
||||
BOOST_ASSERT_MSG(m_size > 0, "invalid size");
|
||||
return m_ptr[0];
|
||||
}
|
||||
|
||||
const DataT &back() const {
|
||||
BOOST_ASSERT_MSG(m_size > 0, "invalid size");
|
||||
return m_ptr[m_size - 1];
|
||||
}
|
||||
|
||||
auto data() const { return m_ptr; }
|
||||
|
||||
template <typename T>
|
||||
friend void swap(SharedMemoryWrapper<T> &, SharedMemoryWrapper<T> &) noexcept;
|
||||
};
|
||||
|
||||
@@ -134,8 +134,11 @@ template <typename EdgeDataT, bool UseSharedMemory = false> class StaticGraph
|
||||
StaticGraph(typename ShM<NodeArrayEntry, UseSharedMemory>::vector &nodes,
|
||||
typename ShM<EdgeArrayEntry, UseSharedMemory>::vector &edges)
|
||||
{
|
||||
BOOST_ASSERT(!nodes.empty());
|
||||
|
||||
number_of_nodes = static_cast<decltype(number_of_nodes)>(nodes.size() - 1);
|
||||
number_of_edges = static_cast<decltype(number_of_edges)>(edges.size());
|
||||
number_of_edges = static_cast<decltype(number_of_edges)>(nodes.back().first_edge);
|
||||
BOOST_ASSERT(number_of_edges <= edges.size());
|
||||
|
||||
using std::swap;
|
||||
swap(node_array, nodes);
|
||||
|
||||
Reference in New Issue
Block a user