Consolidate read/write code in updater for compressed geometries

This commit is contained in:
Patrick Niklaus
2017-03-09 00:41:18 +00:00
committed by Patrick Niklaus
parent 1b5ab37dfd
commit 4986f5ea2d
4 changed files with 113 additions and 227 deletions
@@ -34,6 +34,7 @@ class ShMemIterator
typedef typename base_t::reference reference;
typedef std::random_access_iterator_tag iterator_category;
explicit ShMemIterator() : m_value(nullptr) {}
explicit ShMemIterator(DataT *x) : m_value(x) {}
private:
@@ -60,6 +61,7 @@ template <typename DataT> class SharedMemoryWrapper
public:
using value_type = DataT;
using iterator = ShMemIterator<DataT>;
using const_iterator = ShMemIterator<const DataT>;
using reverse_iterator = boost::reverse_iterator<iterator>;
SharedMemoryWrapper() : m_ptr(nullptr), m_size(0) {}
@@ -86,6 +88,10 @@ template <typename DataT> class SharedMemoryWrapper
auto end() const { return iterator(m_ptr + m_size); }
auto cbegin() const { return const_iterator(m_ptr); }
auto cend() const { return const_iterator(m_ptr + m_size); }
auto rbegin() const { return reverse_iterator(iterator(m_ptr + m_size)); }
auto rend() const { return reverse_iterator(iterator(m_ptr)); }