本文整理汇总了C++中std::deque::rbegin方法的典型用法代码示例。如果您正苦于以下问题:C++ deque::rbegin方法的具体用法?C++ deque::rbegin怎么用?C++ deque::rbegin使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类std::deque
的用法示例。
在下文中一共展示了deque::rbegin方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: PdfElement
PdfPage::PdfPage( PdfObject* pObject, const std::deque<PdfObject*> & rListOfParents )
: PdfElement( "Page", pObject ), PdfCanvas()
{
m_pResources = m_pObject->GetIndirectKey( "Resources" );
if( !m_pResources )
{
// Resources might be inherited
std::deque<PdfObject*>::const_reverse_iterator it = rListOfParents.rbegin();
while( it != rListOfParents.rend() && !m_pResources )
{
m_pResources = (*it)->GetIndirectKey( "Resources" );
++it;
}
}
PdfObject* pContents = m_pObject->GetIndirectKey( "Contents" );
if (pContents)
m_pContents = new PdfContents( pContents );
else
{
// TODO: handle absent contents
m_pContents = NULL;
}
}
示例2: displayShowTrajectory
void setDegu::displayShowTrajectory(QPainter &painter, std::deque< point2D<int> > &trajectory) {
int i, size;
if( (size = trajectory.size()) == 0 )
return;
int x1, y1, x2, y2;
std::deque< point2D<int> >::reverse_iterator points = trajectory.rbegin();
//Show first point
x1 = (int) (*points).x;
y1 = (int) (*points).y;
//Oldest white
painter.setPen(QColor(255,255,255,255)); //white
painter.drawEllipse(x1 - 1, y1 - 1, 3, 3);
//Draw next points and lines connecting them
painter.setPen(QColor(0,0,255,255)); //blue
for(i=1, points++; i<size ; i++, points++) {
x2 = x1;
y2 = y1;
x1 = (int) (*points).x;
y1 = (int) (*points).y;
painter.drawLine(x1, y1, x2, y2);
painter.drawEllipse(x1 - 1, y1 - 1, 3, 3);
}
}
示例3: insertCoordinates
void MultipolygonProcessor::insertCoordinates(const std::deque<GeoCoordinate>& source, std::vector<GeoCoordinate>& destination, bool isOuter) const
{
bool isClockwise = utymap::utils::isClockwise(source);
if ((isOuter && isClockwise) || (!isOuter && !isClockwise))
destination.insert(destination.end(), source.begin(), source.end());
else
destination.insert(destination.end(), source.rbegin(), source.rend());
}
示例4: deleteTrailingZeros
void deleteTrailingZeros()
{
auto reverse_it = std::find_if(
pos_vec.rbegin(),
pos_vec.rend(),
[](int i) {return i != 0;} );
pos_vec.erase(reverse_it.base(),pos_vec.end());
};
示例5: insertCoordinates
void MultipolygonProcessor::insertCoordinates(const std::deque<GeoCoordinate> &source,
std::vector<GeoCoordinate> &destination,
bool isOuter) {
// NOTE we need to remove the last coordinate in area
std::size_t offset = source[0]==source[source.size() - 1] ? 1 : 0;
bool isClockwise = utymap::utils::isClockwise(source);
if ((isOuter && !isClockwise) || (!isOuter && isClockwise))
destination.insert(destination.end(), source.begin(), source.end() - offset);
else
destination.insert(destination.end(), source.rbegin() + offset, source.rend());
}
示例6: join_same
void sdl_handler::join_same(sdl_handler* parent)
{
if(has_joined_) {
leave(); // should not be in multiple event contexts
}
for(std::deque<context>::reverse_iterator i = event_contexts.rbegin(); i != event_contexts.rend(); ++i) {
handler_list& handlers = (*i).handlers;
if (std::find(handlers.begin(), handlers.end(), parent) != handlers.end()) {
join(*i);
return;
}
}
join(event_contexts.back());
}
示例7: leave
void sdl_handler::leave()
{
sdl_handler_vector members = handler_members();
if(!members.empty()) {
for(sdl_handler_vector::iterator i = members.begin(); i != members.end(); ++i) {
(*i)->leave();
}
} else {
assert(event_contexts.empty() == false);
}
for(std::deque<context>::reverse_iterator i = event_contexts.rbegin(); i != event_contexts.rend(); ++i) {
if(i->remove_handler(this)) {
break;
}
}
has_joined_ = false;
}
示例8: f_deque
void f_deque() {
std::deque<int> C;
std::deque<int>::iterator DequeI1 = C.begin();
// CHECK-MESSAGES: :[[@LINE-1]]:3: warning: use auto when declaring iterators
// CHECK-FIXES: auto DequeI1 = C.begin();
std::deque<int>::reverse_iterator DequeI2 = C.rbegin();
// CHECK-MESSAGES: :[[@LINE-1]]:3: warning: use auto when declaring iterators
// CHECK-FIXES: auto DequeI2 = C.rbegin();
const std::deque<int> D;
std::deque<int>::const_iterator DequeI3 = D.begin();
// CHECK-MESSAGES: :[[@LINE-1]]:3: warning: use auto when declaring iterators
// CHECK-FIXES: auto DequeI3 = D.begin();
std::deque<int>::const_reverse_iterator DequeI4 = D.rbegin();
// CHECK-MESSAGES: :[[@LINE-1]]:3: warning: use auto when declaring iterators
// CHECK-FIXES: auto DequeI4 = D.rbegin();
}