本文整理汇总了C++中callbacklist::iterator::get方法的典型用法代码示例。如果您正苦于以下问题:C++ iterator::get方法的具体用法?C++ iterator::get怎么用?C++ iterator::get使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类callbacklist::iterator
的用法示例。
在下文中一共展示了iterator::get方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: dirty
void ImageOverlay::dirty()
{
{
OpenThreads::ScopedLock< OpenThreads::Mutex > lock(_mutex);
_dirty = true;
}
for( CallbackList::iterator i = _callbacks.begin(); i != _callbacks.end(); i++ )
{
i->get()->onOverlayChanged();
}
}
示例2: sharedLock
void
Terrain::fireTileAdded( const TileKey& key, osg::Node* node )
{
Threading::ScopedReadLock sharedLock( _callbacksMutex );
for( CallbackList::iterator i = _callbacks.begin(); i != _callbacks.end(); )
{
TerrainCallbackContext context( this );
i->get()->onTileAdded( key, node, context );
// if the callback set the "remove" flag, discard the callback.
if ( !context._remove )
++i;
else
i = _callbacks.erase( i );
}
}
示例3: exclusiveLock
void
Terrain::removeTerrainCallback( TerrainCallback* cb )
{
Threading::ScopedWriteLock exclusiveLock( _callbacksMutex );
for( CallbackList::iterator i = _callbacks.begin(); i != _callbacks.end(); )
{
if ( i->get() == cb )
{
i = _callbacks.erase( i );
}
else
{
++i;
}
}
}