本文整理汇总了C++中TracePointVector::push_back方法的典型用法代码示例。如果您正苦于以下问题:C++ TracePointVector::push_back方法的具体用法?C++ TracePointVector::push_back怎么用?C++ TracePointVector::push_back使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TracePointVector
的用法示例。
在下文中一共展示了TracePointVector::push_back方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: begin
void
Trace::GetPoints(TracePointVector &v, unsigned min_time,
const GeoPoint &location, fixed min_distance) const
{
/* skip the trace points that are before min_time */
Trace::const_iterator i = begin(), end = this->end();
unsigned skipped = 0;
while (true) {
if (i == end)
/* nothing left */
return;
if (i->GetTime() >= min_time)
/* found the first point that is within range */
break;
++i;
++skipped;
}
assert(skipped < size());
v.reserve(size() - skipped);
const unsigned range = ProjectRange(location, min_distance);
const unsigned sq_range = range * range;
do {
v.push_back(*i);
i.NextSquareRange(sq_range, end);
} while (i != end);
}
示例2:
void
OLCLeague::copy_solution(TracePointVector &vec) const
{
vec.clear();
vec.reserve(5);
if (solution_found) {
for (unsigned i = 0; i < 5; ++i)
vec.push_back(best_solution[i]);
}
}
示例3:
void
OLCDijkstra::copy_solution(TracePointVector &vec)
{
vec.clear();
if (solution_found) {
vec.reserve(num_stages);
for (unsigned i = 0; i < num_stages; ++i)
vec.push_back(best_solution[i]);
}
}
示例4: TracePointVector
TracePointVector
Trace::get_trace_points(const unsigned max_points) const
{
if (max_points == 2) {
if (trace_tree.size()<2) {
return TracePointVector();
}
// special case - just look for points within time range
TracePoint p;
unsigned tmin = (unsigned)-1;
for (TraceTree::const_iterator tr = trace_tree.begin();
tr != trace_tree.end(); ++tr) {
if (inside_time_window(tr->time) && (tr->time< tmin)) {
p = *tr;
tmin = tr->time;
}
}
TracePointVector v;
v.push_back(p);
v.push_back(m_last_point);
return v;
}
TracePointSet tset(begin(), end());
if (tset.empty())
return TracePointVector();
TracePointList tlist(tset.begin(), tset.end());
unsigned mrange = 3;
while (tlist.size() > max_points) {
thin_trace(tlist, mrange);
mrange = (mrange * 4) / 3;
}
return TracePointVector(tlist.begin(), tlist.end());
}