implement population of shared vector<bool> overload (manually, yikes)
This commit is contained in:
parent
f468fcc2b6
commit
7a6a5f6612
@ -82,7 +82,9 @@ public:
|
||||
SharedMemoryWrapper(DataT * ptr, std::size_t size) :
|
||||
m_ptr(ptr),
|
||||
m_size(size)
|
||||
{ }
|
||||
{
|
||||
SimpleLogger().Write(logDEBUG) << "generated std::vector<DataT> of size " << size;
|
||||
}
|
||||
|
||||
void swap( SharedMemoryWrapper<DataT> & other ) {
|
||||
BOOST_ASSERT_MSG(m_size != 0 || other.size() != 0, "size invalid");
|
||||
@ -143,7 +145,9 @@ public:
|
||||
SharedMemoryWrapper(unsigned * ptr, std::size_t size) :
|
||||
m_ptr(ptr),
|
||||
m_size(size)
|
||||
{ }
|
||||
{
|
||||
SimpleLogger().Write(logDEBUG) << "generated std::vector<bool> of size " << size;
|
||||
}
|
||||
|
||||
void swap( SharedMemoryWrapper<bool> & other ) {
|
||||
BOOST_ASSERT_MSG(m_size != 0 || other.size() != 0, "size invalid");
|
||||
|
@ -192,6 +192,7 @@ int main( const int argc, const char * argv[] ) {
|
||||
shared_layout_ptr->via_node_list_size = number_of_original_edges;
|
||||
shared_layout_ptr->name_id_list_size = number_of_original_edges;
|
||||
shared_layout_ptr->turn_instruction_list_size = number_of_original_edges;
|
||||
shared_layout_ptr->geometries_compression = number_of_original_edges;
|
||||
|
||||
boost::filesystem::ifstream hsgr_input_stream(
|
||||
hsgr_path,
|
||||
@ -316,6 +317,10 @@ int main( const int argc, const char * argv[] ) {
|
||||
shared_memory_ptr + shared_layout_ptr->GetTurnInstructionListOffset()
|
||||
);
|
||||
|
||||
unsigned * geometries_index_ptr = (unsigned *)(
|
||||
shared_memory + shared_layout_ptr->GetGeometriesIndicesOffset()
|
||||
);
|
||||
|
||||
OriginalEdgeData current_edge_data;
|
||||
for(unsigned i = 0; i < number_of_original_edges; ++i) {
|
||||
// SimpleLogger().Write() << i << "/" << number_of_edges;
|
||||
@ -326,6 +331,11 @@ int main( const int argc, const char * argv[] ) {
|
||||
via_node_ptr[i] = current_edge_data.via_node;
|
||||
name_id_ptr[i] = current_edge_data.name_id;
|
||||
turn_instructions_ptr[i] = current_edge_data.turn_instruction;
|
||||
|
||||
const unsigned bucket = i / 32;
|
||||
const unsigned offset = i % 32;
|
||||
geometries_index_ptr[bucket] |= (1 << offset);
|
||||
|
||||
}
|
||||
edges_input_stream.close();
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user