Skip to content

Commit 3b7fdc5

Browse files
committed
Remove unnecessary copy of idlist
1 parent ba8ef22 commit 3b7fdc5

File tree

4 files changed

+12
-20
lines changed

4 files changed

+12
-20
lines changed

src/dependency-manager.cpp

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -100,17 +100,3 @@ bool full_dependency_manager_t::has_pending() const noexcept
100100
{
101101
return !m_ways_pending_tracker.empty() || !m_rels_pending_tracker.empty();
102102
}
103-
104-
idlist_t full_dependency_manager_t::get_ids(idlist_t *tracker)
105-
{
106-
tracker->sort_unique();
107-
108-
idlist_t list;
109-
list.reserve(tracker->size());
110-
111-
std::copy(tracker->cbegin(), tracker->cend(), std::back_inserter(list));
112-
113-
tracker->clear();
114-
115-
return list;
116-
}

src/dependency-manager.hpp

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -115,17 +115,23 @@ class full_dependency_manager_t : public dependency_manager_t
115115

116116
idlist_t get_pending_way_ids() override
117117
{
118-
return get_ids(&m_ways_pending_tracker);
118+
idlist_t list;
119+
using std::swap;
120+
swap(list, m_ways_pending_tracker);
121+
list.sort_unique();
122+
return list;
119123
}
120124

121125
idlist_t get_pending_relation_ids() override
122126
{
123-
return get_ids(&m_rels_pending_tracker);
127+
idlist_t list;
128+
using std::swap;
129+
swap(list, m_rels_pending_tracker);
130+
list.sort_unique();
131+
return list;
124132
}
125133

126134
private:
127-
static idlist_t get_ids(idlist_t *tracker);
128-
129135
std::shared_ptr<middle_t> m_object_store;
130136

131137
/**

src/idlist.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ void idlist_t::sort_unique()
2020
m_list.erase(last, m_list.end());
2121
}
2222

23-
void idlist_t::merge_sorted(const idlist_t &other)
23+
void idlist_t::merge_sorted(idlist_t const &other)
2424
{
2525
std::vector<osmid_t> new_list;
2626

src/idlist.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ class idlist_t
7575

7676
void sort_unique();
7777

78-
void merge_sorted(const idlist_t &other);
78+
void merge_sorted(idlist_t const &other);
7979

8080
private:
8181
std::vector<osmid_t> m_list;

0 commit comments

Comments
 (0)