Flush stxxl vectors before using in PrepareData
This commit is contained in:
parent
045d25041f
commit
b57169e221
@ -32,6 +32,7 @@ class ExtractionContainers
|
|||||||
#else
|
#else
|
||||||
const static unsigned stxxl_memory = ((sizeof(std::size_t) == 4) ? INT_MAX : UINT_MAX);
|
const static unsigned stxxl_memory = ((sizeof(std::size_t) == 4) ? INT_MAX : UINT_MAX);
|
||||||
#endif
|
#endif
|
||||||
|
void FlushVectors();
|
||||||
void PrepareNodes();
|
void PrepareNodes();
|
||||||
void PrepareRestrictions();
|
void PrepareRestrictions();
|
||||||
void PrepareEdges(ScriptingEnvironment &scripting_environment);
|
void PrepareEdges(ScriptingEnvironment &scripting_environment);
|
||||||
|
@ -125,6 +125,17 @@ ExtractionContainers::ExtractionContainers()
|
|||||||
name_offsets.push_back(0);
|
name_offsets.push_back(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ExtractionContainers::FlushVectors()
|
||||||
|
{
|
||||||
|
used_node_id_list.flush();
|
||||||
|
all_nodes_list.flush();
|
||||||
|
all_edges_list.flush();
|
||||||
|
name_char_data.flush();
|
||||||
|
name_offsets.flush();
|
||||||
|
restrictions_list.flush();
|
||||||
|
way_start_end_id_list.flush();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Processes the collected data and serializes it.
|
* Processes the collected data and serializes it.
|
||||||
* At this point nodes are still referenced by their OSM id.
|
* At this point nodes are still referenced by their OSM id.
|
||||||
@ -145,6 +156,8 @@ void ExtractionContainers::PrepareData(ScriptingEnvironment &scripting_environme
|
|||||||
const util::FingerPrint fingerprint = util::FingerPrint::GetValid();
|
const util::FingerPrint fingerprint = util::FingerPrint::GetValid();
|
||||||
file_out_stream.write((char *)&fingerprint, sizeof(util::FingerPrint));
|
file_out_stream.write((char *)&fingerprint, sizeof(util::FingerPrint));
|
||||||
|
|
||||||
|
FlushVectors();
|
||||||
|
|
||||||
PrepareNodes();
|
PrepareNodes();
|
||||||
WriteNodes(file_out_stream);
|
WriteNodes(file_out_stream);
|
||||||
PrepareEdges(scripting_environment);
|
PrepareEdges(scripting_environment);
|
||||||
|
Loading…
Reference in New Issue
Block a user