Renaming of MemorySetting > Ownership
This commit is contained in:
committed by
Patrick Niklaus
parent
d6e56c38d5
commit
16665aeb00
@@ -23,7 +23,7 @@ namespace util
|
||||
* configure BITSIZE and ELEMSIZE
|
||||
*/
|
||||
template <typename T,
|
||||
osrm::storage::MemorySetting MemorySetting = osrm::storage::MemorySetting::InternalMemory>
|
||||
osrm::storage::Ownership Ownership = osrm::storage::Ownership::Container>
|
||||
class PackedVector
|
||||
{
|
||||
static const constexpr std::size_t BITSIZE = 33;
|
||||
@@ -124,20 +124,20 @@ class PackedVector
|
||||
|
||||
std::size_t size() const { return num_elements; }
|
||||
|
||||
template <bool enabled = (MemorySetting == osrm::storage::MemorySetting::SharedMemory)>
|
||||
template <bool enabled = (Ownership == osrm::storage::Ownership::View)>
|
||||
void reserve(typename std::enable_if<!enabled, std::size_t>::type capacity)
|
||||
{
|
||||
vec.reserve(elements_to_blocks(capacity));
|
||||
}
|
||||
|
||||
template <bool enabled = (MemorySetting == osrm::storage::MemorySetting::SharedMemory)>
|
||||
template <bool enabled = (Ownership == osrm::storage::Ownership::View)>
|
||||
void reset(typename std::enable_if<enabled, std::uint64_t>::type *ptr,
|
||||
typename std::enable_if<enabled, std::size_t>::type size)
|
||||
{
|
||||
vec.reset(ptr, size);
|
||||
}
|
||||
|
||||
template <bool enabled = (MemorySetting == osrm::storage::MemorySetting::SharedMemory)>
|
||||
template <bool enabled = (Ownership == osrm::storage::Ownership::View)>
|
||||
void set_number_of_entries(typename std::enable_if<enabled, std::size_t>::type count)
|
||||
{
|
||||
num_elements = count;
|
||||
@@ -149,44 +149,44 @@ class PackedVector
|
||||
}
|
||||
|
||||
private:
|
||||
typename util::ShM<std::uint64_t, MemorySetting>::vector vec;
|
||||
typename util::ShM<std::uint64_t, Ownership>::vector vec;
|
||||
|
||||
std::size_t num_elements = 0;
|
||||
|
||||
signed cursor = -1;
|
||||
|
||||
template <bool enabled = (MemorySetting == osrm::storage::MemorySetting::SharedMemory)>
|
||||
template <bool enabled = (Ownership == osrm::storage::Ownership::View)>
|
||||
void replace_last_elem(typename std::enable_if<enabled, std::uint64_t>::type last_elem)
|
||||
{
|
||||
vec[cursor] = last_elem;
|
||||
}
|
||||
|
||||
template <bool enabled = (MemorySetting == osrm::storage::MemorySetting::SharedMemory)>
|
||||
template <bool enabled = (Ownership == osrm::storage::Ownership::View)>
|
||||
void replace_last_elem(typename std::enable_if<!enabled, std::uint64_t>::type last_elem)
|
||||
{
|
||||
vec.back() = last_elem;
|
||||
}
|
||||
|
||||
template <bool enabled = (MemorySetting == osrm::storage::MemorySetting::SharedMemory)>
|
||||
template <bool enabled = (Ownership == osrm::storage::Ownership::View)>
|
||||
void add_last_elem(typename std::enable_if<enabled, std::uint64_t>::type last_elem)
|
||||
{
|
||||
vec[cursor + 1] = last_elem;
|
||||
cursor++;
|
||||
}
|
||||
|
||||
template <bool enabled = (MemorySetting == osrm::storage::MemorySetting::SharedMemory)>
|
||||
template <bool enabled = (Ownership == osrm::storage::Ownership::View)>
|
||||
void add_last_elem(typename std::enable_if<!enabled, std::uint64_t>::type last_elem)
|
||||
{
|
||||
vec.push_back(last_elem);
|
||||
}
|
||||
|
||||
template <bool enabled = (MemorySetting == osrm::storage::MemorySetting::SharedMemory)>
|
||||
template <bool enabled = (Ownership == osrm::storage::Ownership::View)>
|
||||
std::uint64_t vec_back(typename std::enable_if<enabled>::type * = nullptr)
|
||||
{
|
||||
return vec[cursor];
|
||||
}
|
||||
|
||||
template <bool enabled = (MemorySetting == osrm::storage::MemorySetting::SharedMemory)>
|
||||
template <bool enabled = (Ownership == osrm::storage::Ownership::View)>
|
||||
std::uint64_t vec_back(typename std::enable_if<!enabled>::type * = nullptr)
|
||||
{
|
||||
return vec.back();
|
||||
|
||||
@@ -20,14 +20,14 @@ namespace util
|
||||
*/
|
||||
|
||||
template <unsigned BLOCK_SIZE = 16,
|
||||
osrm::storage::MemorySetting MemorySetting = osrm::storage::MemorySetting::InternalMemory>
|
||||
osrm::storage::Ownership Ownership = osrm::storage::Ownership::Container>
|
||||
class RangeTable;
|
||||
|
||||
template <unsigned BLOCK_SIZE, osrm::storage::MemorySetting MemorySetting>
|
||||
std::ostream &operator<<(std::ostream &out, const RangeTable<BLOCK_SIZE, MemorySetting> &table);
|
||||
template <unsigned BLOCK_SIZE, osrm::storage::Ownership Ownership>
|
||||
std::ostream &operator<<(std::ostream &out, const RangeTable<BLOCK_SIZE, Ownership> &table);
|
||||
|
||||
template <unsigned BLOCK_SIZE, osrm::storage::MemorySetting MemorySetting>
|
||||
std::istream &operator>>(std::istream &in, RangeTable<BLOCK_SIZE, MemorySetting> &table);
|
||||
template <unsigned BLOCK_SIZE, osrm::storage::Ownership Ownership>
|
||||
std::istream &operator>>(std::istream &in, RangeTable<BLOCK_SIZE, Ownership> &table);
|
||||
|
||||
/**
|
||||
* Stores adjacent ranges in a compressed format.
|
||||
@@ -38,12 +38,12 @@ std::istream &operator>>(std::istream &in, RangeTable<BLOCK_SIZE, MemorySetting>
|
||||
* But each block consists of an absolute value and BLOCK_SIZE differential values.
|
||||
* So the effective block size is sizeof(unsigned) + BLOCK_SIZE.
|
||||
*/
|
||||
template <unsigned BLOCK_SIZE, osrm::storage::MemorySetting MemorySetting> class RangeTable
|
||||
template <unsigned BLOCK_SIZE, osrm::storage::Ownership Ownership> class RangeTable
|
||||
{
|
||||
public:
|
||||
using BlockT = std::array<unsigned char, BLOCK_SIZE>;
|
||||
using BlockContainerT = typename ShM<BlockT, MemorySetting>::vector;
|
||||
using OffsetContainerT = typename ShM<unsigned, MemorySetting>::vector;
|
||||
using BlockContainerT = typename ShM<BlockT, Ownership>::vector;
|
||||
using OffsetContainerT = typename ShM<unsigned, Ownership>::vector;
|
||||
using RangeT = range<unsigned>;
|
||||
|
||||
friend std::ostream &operator<<<>(std::ostream &out, const RangeTable &table);
|
||||
@@ -215,8 +215,8 @@ template <unsigned BLOCK_SIZE, osrm::storage::MemorySetting MemorySetting> class
|
||||
unsigned sum_lengths;
|
||||
};
|
||||
|
||||
template <unsigned BLOCK_SIZE, osrm::storage::MemorySetting MemorySetting>
|
||||
unsigned RangeTable<BLOCK_SIZE, MemorySetting>::PrefixSumAtIndex(int index,
|
||||
template <unsigned BLOCK_SIZE, osrm::storage::Ownership Ownership>
|
||||
unsigned RangeTable<BLOCK_SIZE, Ownership>::PrefixSumAtIndex(int index,
|
||||
const BlockT &block) const
|
||||
{
|
||||
// this loop looks inefficent, but a modern compiler
|
||||
@@ -230,8 +230,8 @@ unsigned RangeTable<BLOCK_SIZE, MemorySetting>::PrefixSumAtIndex(int index,
|
||||
return sum;
|
||||
}
|
||||
|
||||
template <unsigned BLOCK_SIZE, osrm::storage::MemorySetting MemorySetting>
|
||||
std::ostream &operator<<(std::ostream &out, const RangeTable<BLOCK_SIZE, MemorySetting> &table)
|
||||
template <unsigned BLOCK_SIZE, osrm::storage::Ownership Ownership>
|
||||
std::ostream &operator<<(std::ostream &out, const RangeTable<BLOCK_SIZE, Ownership> &table)
|
||||
{
|
||||
// write number of block
|
||||
const unsigned number_of_blocks = table.diff_blocks.size();
|
||||
@@ -246,8 +246,8 @@ std::ostream &operator<<(std::ostream &out, const RangeTable<BLOCK_SIZE, MemoryS
|
||||
return out;
|
||||
}
|
||||
|
||||
template <unsigned BLOCK_SIZE, osrm::storage::MemorySetting MemorySetting>
|
||||
std::istream &operator>>(std::istream &in, RangeTable<BLOCK_SIZE, MemorySetting> &table)
|
||||
template <unsigned BLOCK_SIZE, osrm::storage::Ownership Ownership>
|
||||
std::istream &operator>>(std::istream &in, RangeTable<BLOCK_SIZE, Ownership> &table)
|
||||
{
|
||||
// read number of block
|
||||
unsigned number_of_blocks;
|
||||
|
||||
@@ -175,10 +175,10 @@ void swap(vector_view<DataT> &lhs, vector_view<DataT> &rhs) noexcept
|
||||
std::swap(lhs.m_size, rhs.m_size);
|
||||
}
|
||||
|
||||
template <typename DataT, osrm::storage::MemorySetting MemorySetting> struct ShM
|
||||
template <typename DataT, osrm::storage::Ownership Ownership> struct ShM
|
||||
{
|
||||
using vector =
|
||||
typename std::conditional<MemorySetting == osrm::storage::MemorySetting::SharedMemory,
|
||||
typename std::conditional<Ownership == osrm::storage::Ownership::View,
|
||||
vector_view<DataT>,
|
||||
std::vector<DataT>>::type;
|
||||
};
|
||||
|
||||
@@ -100,7 +100,7 @@ EntryT edgeToEntry(const OtherEdge &from, std::false_type)
|
||||
} // namespace static_graph_details
|
||||
|
||||
template <typename EdgeDataT,
|
||||
osrm::storage::MemorySetting MemorySetting = osrm::storage::MemorySetting::InternalMemory>
|
||||
osrm::storage::Ownership Ownership = osrm::storage::Ownership::Container>
|
||||
class StaticGraph
|
||||
{
|
||||
public:
|
||||
@@ -126,8 +126,8 @@ class StaticGraph
|
||||
InitializeFromSortedEdgeRange(nodes, edges.begin(), edges.end());
|
||||
}
|
||||
|
||||
StaticGraph(typename util::ShM<NodeArrayEntry, MemorySetting>::vector node_array_,
|
||||
typename util::ShM<EdgeArrayEntry, MemorySetting>::vector edge_array_)
|
||||
StaticGraph(typename util::ShM<NodeArrayEntry, Ownership>::vector node_array_,
|
||||
typename util::ShM<EdgeArrayEntry, Ownership>::vector edge_array_)
|
||||
: node_array(std::move(node_array_)), edge_array(std::move(edge_array_))
|
||||
{
|
||||
BOOST_ASSERT(!node_array.empty());
|
||||
@@ -262,8 +262,8 @@ class StaticGraph
|
||||
NodeIterator number_of_nodes;
|
||||
EdgeIterator number_of_edges;
|
||||
|
||||
typename ShM<NodeArrayEntry, MemorySetting>::vector node_array;
|
||||
typename ShM<EdgeArrayEntry, MemorySetting>::vector edge_array;
|
||||
typename ShM<NodeArrayEntry, Ownership>::vector node_array;
|
||||
typename ShM<EdgeArrayEntry, Ownership>::vector edge_array;
|
||||
};
|
||||
|
||||
} // namespace util
|
||||
|
||||
@@ -54,7 +54,7 @@ namespace util
|
||||
// are computed, this means the internal distance metric doesn not represent meters!
|
||||
template <class EdgeDataT,
|
||||
class CoordinateListT = std::vector<Coordinate>,
|
||||
osrm::storage::MemorySetting MemorySetting = osrm::storage::MemorySetting::InternalMemory,
|
||||
osrm::storage::Ownership Ownership = osrm::storage::Ownership::Container,
|
||||
std::uint32_t BRANCHING_FACTOR = 128,
|
||||
std::uint32_t LEAF_PAGE_SIZE = 4096>
|
||||
class StaticRTree
|
||||
@@ -154,12 +154,12 @@ class StaticRTree
|
||||
Coordinate fixed_projected_coordinate;
|
||||
};
|
||||
|
||||
typename ShM<TreeNode, MemorySetting>::vector m_search_tree;
|
||||
typename ShM<TreeNode, Ownership>::vector m_search_tree;
|
||||
const CoordinateListT &m_coordinate_list;
|
||||
|
||||
boost::iostreams::mapped_file_source m_leaves_region;
|
||||
// read-only view of leaves
|
||||
typename ShM<const LeafNode, osrm::storage::MemorySetting::SharedMemory>::vector m_leaves;
|
||||
typename ShM<const LeafNode, osrm::storage::Ownership::View>::vector m_leaves;
|
||||
|
||||
public:
|
||||
StaticRTree(const StaticRTree &) = delete;
|
||||
|
||||
Reference in New Issue
Block a user