本文整理汇总了C++中SListIterator类的典型用法代码示例。如果您正苦于以下问题:C++ SListIterator类的具体用法?C++ SListIterator怎么用?C++ SListIterator使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了SListIterator类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: LoadSFXFile
bool SDLAudio::LoadSFXFile( std::string Filename, std::string SFXName )
{
/** Check to see if we've already loaded it */
SListIterator<SGZSound*> SFXListITR = SFXList.GetIterator();
for( SFXListITR.Start(); SFXListITR.Valid(); SFXListITR.Forth() )
if((SFXListITR.Item()->Name.compare(SFXName))==0)
{
SGZLogger.debug("AudioMAN: SFX \"%s\" already loaded!\n", SFXName.c_str());
return false;
}
/** Load a sound effect to play */
SGZLogger.debug("AudioMAN: Loading SFX \"%s\" as %s\n", Filename.c_str(), SFXName.c_str());
SGZSound *Effect;
Effect = new SGZSound;
Effect->Name = SFXName;
Effect->Data = Mix_LoadWAV(Filename.c_str());
if(Effect->Data == NULL)
{
SGZLogger.warn("AudioMAN: Failed to load SFX: %s\n", Filename.c_str());
delete Effect;
return false;
}
else
SFXList.Append(Effect);
return true;
}
开发者ID:stuckie,项目名称:plightoftheweedunks,代码行数:28,代码来源:SDLAudio.cpp
示例2: while
bool SDLAudio::DestroyInterface(void)
{
/** Destroy a client interface */
SListIterator<SGZMusic*> MusicListITR = MusicList.GetIterator();
MusicListITR.Start();
while (MusicListITR.Valid())
{
Mix_FreeMusic(MusicListITR.Item()->Data);
MusicList.Remove(MusicListITR);
MusicListITR.Forth();
}
SListIterator<SGZSound*> SFXListITR = SFXList.GetIterator();
SFXListITR.Start();
while (SFXListITR.Valid())
{
Mix_FreeChunk(SFXListITR.Item()->Data);
SFXList.Remove(SFXListITR);
SFXListITR.Forth();
}
Mix_CloseAudio();
return true;
}
开发者ID:stuckie,项目名称:plightoftheweedunks,代码行数:27,代码来源:SDLAudio.cpp
示例3: spqrproper
SList<node>& DynamicSPQRForest::findPathSPQR (node sH, node tH, node& rT) const
{
SList<node>& pT = *OGDF_NEW SList<node>;
node sT = spqrproper(sH->firstAdj()->theEdge());
node tT = spqrproper(tH->firstAdj()->theEdge());
node nT = findNCASPQR(sT,tT);
while (sT!=nT) {
edge eH = m_tNode_hRefEdge[sT];
node uH = eH->source();
node vH = eH->target();
if (uH!=sH && vH!=sH) pT.pushBack(sT);
if (uH==tH || vH==tH) { rT = sT; return pT; }
sT = spqrproper(m_hEdge_twinEdge[eH]);
}
SListIterator<node> iT = pT.rbegin();
while (tT!=nT) {
edge eH = m_tNode_hRefEdge[tT];
node uH = eH->source();
node vH = eH->target();
if (uH!=tH && vH!=tH) {
if (iT.valid()) pT.insertAfter(tT,iT);
else pT.pushFront(tT);
}
if (uH==sH || vH==sH) { rT = tT; return pT; }
tT = spqrproper(m_hEdge_twinEdge[eH]);
}
if (iT.valid()) pT.insertAfter(nT,iT);
else pT.pushFront(nT);
rT = nT; return pT;
}
开发者ID:15375514460,项目名称:TortoiseGit,代码行数:30,代码来源:DynamicSPQRForest.cpp
示例4: LoadMUSFile
bool SDLAudio::LoadMUSFile( std::string Filename, std::string MUSName )
{
/** Check to see if we've already loaded it */
SListIterator<SGZMusic*> MusicListITR = MusicList.GetIterator();
for( MusicListITR.Start(); MusicListITR.Valid(); MusicListITR.Forth() )
if((MusicListITR.Item()->Name.compare(MUSName))==0)
{
SGZLogger.debug("AudioMAN: SFX: %s already loaded!\n", MUSName.c_str());
return false;
}
/** Load a music to play */
SGZLogger.debug("AudioMAN: Loading MUS: %s as %s\n", Filename.c_str(), MUSName.c_str());
SGZMusic *Music;
Music = new SGZMusic;
Music->Name = MUSName;
Music->Data = Mix_LoadMUS(Filename.c_str());
if(Music->Data == NULL)
{
SGZLogger.warn("AudioMAN: Failed to load MUS: %s\n", Filename.c_str());
delete Music;
return false;
}
else
MusicList.Append(Music);
return true;
}
开发者ID:stuckie,项目名称:plightoftheweedunks,代码行数:28,代码来源:SDLAudio.cpp
示例5: Initialize
// Initializes a PQTree by a set of leaves that will korrespond to
// the set of Keys stored in leafKeys.
int PlanarPQTree::Initialize(SListPure<PlanarLeafKey<IndInfo*>*> &leafKeys)
{
SListIterator<PlanarLeafKey<IndInfo*>* > it;
SListPure<PQLeafKey<edge,IndInfo*,bool>*> castLeafKeys;
for (it = leafKeys.begin(); it.valid(); ++it)
castLeafKeys.pushBack((PQLeafKey<edge,IndInfo*,bool>*) *it);
return PQTree<edge,IndInfo*,bool>::Initialize(castLeafKeys);
}
开发者ID:mneumann,项目名称:tulip,代码行数:11,代码来源:PlanarPQTree.cpp
示例6: CleanEvents
void CInterpret::CleanEvents( void )
{
SListIterator<IEvent*> EventListITR = EventList.GetIterator();
for( EventListITR.Start(); EventListITR.Valid(); EventListITR.Forth() )
{
if(EventListITR.Item()->handled(false))
EventList.Remove(EventListITR);
}
}
开发者ID:stuckie,项目名称:plightoftheweedunks,代码行数:9,代码来源:CInterpret.cpp
示例7: checkExist
bool MTexture::checkExist ( const std::string &Name )
{
SListIterator<TextureObj*> TextureITR = mTextureList.getIterator();
for( TextureITR.start(); TextureITR.valid(); TextureITR.forth() )
if(TextureITR.item()->mName.compare(Name)==0)
return true;
return false;
}
开发者ID:stuckie,项目名称:ludumdare,代码行数:9,代码来源:MTexture.cpp
示例8: UpdateEntities
bool MEntity::UpdateEntities( void )
{
/** Update Entities */
SListIterator<IEntity*> EntityListITR = EntityList.GetIterator();
for( EntityListITR.Start(); EntityListITR.Valid(); EntityListITR.Forth() )
EntityListITR.Item()->Update();
return true;
}
开发者ID:stuckie,项目名称:plightoftheweedunks,代码行数:9,代码来源:MEntity.cpp
示例9: CheckExist
bool MEntity::CheckExist(std::string Name)
{
/** Check an Entity */
SListIterator<IEntity*> EntityListITR = EntityList.GetIterator();
for( EntityListITR.Start(); EntityListITR.Valid(); EntityListITR.Forth() )
if(EntityListITR.Item()->GetName().compare(Name)==0)
return true;
return false;
}
开发者ID:stuckie,项目名称:plightoftheweedunks,代码行数:10,代码来源:MEntity.cpp
示例10:
bool SDLEntity2D::LoadFrame ( std::string Name, std::string TexName, std::string MaskName, int FrameDelay, int x, int y, SGZCOLOUR ColourKey )
{
/// Load up a Texture into an Animation
SListIterator<SGZAnimGroup2D*> AnimListITR = AnimList.GetIterator();
for( AnimListITR.Start(); AnimListITR.Valid(); AnimListITR.Forth() )
if((AnimListITR.Item()->AnimName.compare(Name))==0)
{
SGZAnimFrame2D *Frame = new SGZAnimFrame2D;
Frame->TextureName = TexName;
Frame->MaskName = "none";
Frame->delay = FrameDelay;
Frame->u = x;
Frame->v = y;
Frame->colkey = ColourKey;
AnimListITR.Item()->FrameList.Append(Frame);
AnimListITR.Item()->AnimNum++;
AnimListITR.Item()->FrameITR = AnimListITR.Item()->FrameList.GetIterator();
if(!SGZInterpret.accessServer()->World()->accessTextureManager()->CheckExist(TexName))
SGZLogger.warn("Texture %s has not been loaded yet.. make sure it is before calling this frame!", TexName.c_str());
return true;
}
SGZLogger.warn("Animation \"%s\" does not exist!\n",Name.c_str());
return false;
}
开发者ID:stuckie,项目名称:plightoftheweedunks,代码行数:27,代码来源:SDLEntity2D.cpp
示例11:
bool SDLEntity2D::LoadFrame ( std::string Name, std::string TexName, std::string MaskName, int FrameDelay, int x, int y, SGZ::RGBCOLOUR ColourKey )
{
/// Load up a Texture into an Animation
SListIterator<SGZAnimGroup2D*> AnimListITR = AnimList.getIterator();
for( AnimListITR.start(); AnimListITR.valid(); AnimListITR.forth() )
if((AnimListITR.item()->AnimName.compare(Name))==0)
{
SGZAnimFrame2D *Frame = new SGZAnimFrame2D;
Frame->TextureName = TexName;
Frame->MaskName = MaskName;
Frame->delay = FrameDelay;
Frame->u = x;
Frame->v = y;
Frame->colkey = ColourKey;
AnimListITR.item()->FrameList.append(Frame);
AnimListITR.item()->AnimNum++;
AnimListITR.item()->FrameITR = AnimListITR.item()->FrameList.getIterator();
if(!manTextures->checkExist(TexName))
SGZ::Logger.log( SGZLOG::Warning, "Texture " + TexName + " has not been loaded yet.. make sure it is before calling this frame!");
return true;
}
SGZ::Logger.log( SGZLOG::Warning, "Animation \"" + Name + "\" does not exist!\n");
return false;
}
开发者ID:stuckie,项目名称:sgzengine,代码行数:27,代码来源:SDLEntity2D.cpp
示例12:
MTexture::~MTexture()
{
/** Destructor */
SListIterator<TextureObj*> TextureITR = mTextureList.getIterator();
TextureITR.start();
while (TextureITR.valid())
{
mTextureList.remove(TextureITR);
TextureITR.forth();
}
}
开发者ID:stuckie,项目名称:ludumdare,代码行数:12,代码来源:MTexture.cpp
示例13: while
MEntity::~MEntity()
{
/** Destructor */
SListIterator<IEntity*> EntityListITR = EntityList.GetIterator();
EntityListITR.Start();
while (EntityListITR.Valid())
{
EntityList.Remove(EntityListITR);
EntityListITR.Forth();
}
}
开发者ID:stuckie,项目名称:plightoftheweedunks,代码行数:12,代码来源:MEntity.cpp
示例14: delTexture
bool MTexture::delTexture( const std::string &Name )
{
SListIterator<TextureObj*> TextureITR = mTextureList.getIterator();
for( TextureITR.start(); TextureITR.valid(); TextureITR.forth() )
if(TextureITR.item()->mName.compare(Name)==0)
{
mTextureList.remove(TextureITR);
return true;
}
SGZ::Logger.log( SGZLOG::Warning, "Texture " + Name + " does not exist!\n");
return false;
}
开发者ID:stuckie,项目名称:ludumdare,代码行数:13,代码来源:MTexture.cpp
示例15: DelEntity
bool MEntity::DelEntity(std::string Name)
{
/** Remove an Entity */
SListIterator<IEntity*> EntityListITR = EntityList.GetIterator();
for( EntityListITR.Start(); EntityListITR.Valid(); EntityListITR.Forth() )
if(EntityListITR.Item()->GetName().compare(Name)==0)
{
EntityList.Remove(EntityListITR);
return true;
}
SGZLogger.warn("Entity %s does not exist!\n", Name.c_str());
return false;
}
开发者ID:stuckie,项目名称:plightoftheweedunks,代码行数:14,代码来源:MEntity.cpp
示例16: undoStars
void UMLGraph::undoStars()
{
SListIterator<node> it = m_centerNodes.begin();
while (it.valid())
{
undoStar(*it, false);
++it;
}//while
m_hiddenEdges->restore();
m_centerNodes.clear();
m_replacementEdge.init();
}//undostars
开发者ID:marvin2k,项目名称:ogdf,代码行数:14,代码来源:UMLGraph.cpp
示例17: RemoveGROUP
bool SDLAudio::RemoveGROUP(std::string name)
{
/** Check to see if we've created it */
SListIterator<SGZChanGroup*> GroupListITR = GroupList.GetIterator();
for( GroupListITR.Start(); GroupListITR.Valid(); GroupListITR.Forth() )
if((GroupListITR.Item()->Name.compare(name))==0)
{
GroupList.Remove(GroupListITR);
return true;
}
SGZLogger.warn("AudioMAN: Group \"%s\" doesn't exist!\n", name.c_str());
return false;
}
开发者ID:stuckie,项目名称:plightoftheweedunks,代码行数:15,代码来源:SDLAudio.cpp
示例18: ReplaceFullRoot
// Function ReplaceFullRoot either replaces the full root
// or one full child of a partial root of a pertinent subtree
// by a single P-node with leaves corresponding the keys stored in leafKeys.
void PlanarSubgraphPQTree::
ReplaceFullRoot(SListPure<PlanarLeafKey<whaInfo*>*> &leafKeys)
{
PQLeaf<edge,whaInfo*,bool> *leafPtr = 0; // dummy
PQInternalNode<edge,whaInfo*,bool> *nodePtr = 0; // dummy
//PQNodeKey<edge,whaInfo*,bool> *nodeInfoPtr = 0; // dummy
PQNode<edge,whaInfo*,bool> *currentNode = 0; // dummy
SListIterator<PlanarLeafKey<whaInfo*>* > it;
if (!leafKeys.empty() && leafKeys.front() == leafKeys.back())
{
//ReplaceFullRoot: replace pertinent root by a single leaf
leafPtr = OGDF_NEW PQLeaf<edge,whaInfo*,bool>(m_identificationNumber++,
EMPTY,(PQLeafKey<edge,whaInfo*,bool>*)leafKeys.front());
exchangeNodes(m_pertinentRoot,(PQNode<edge,whaInfo*,bool>*) leafPtr);
if (m_pertinentRoot == m_root)
m_root = (PQNode<edge,whaInfo*,bool>*) leafPtr;
}
else if (!leafKeys.empty()) // at least two leaves
{
//replace pertinent root by a $P$-node
if ((m_pertinentRoot->type() == P_NODE) ||
(m_pertinentRoot->type() == Q_NODE))
{
nodePtr = (PQInternalNode<edge,whaInfo*,bool>*)m_pertinentRoot;
nodePtr->type(P_NODE);
nodePtr->status(PERTROOT);
nodePtr->childCount(0);
while (!fullChildren(m_pertinentRoot)->empty())
{
currentNode = fullChildren(m_pertinentRoot)->popFrontRet();
removeChildFromSiblings(currentNode);
}
}
else if (m_pertinentRoot->type() == LEAF)
{
nodePtr = OGDF_NEW PQInternalNode<edge,whaInfo*,bool>(m_identificationNumber++,
P_NODE,EMPTY);
exchangeNodes(m_pertinentRoot,nodePtr);
}
SListPure<PQLeafKey<edge,whaInfo*,bool>*> castLeafKeys;
for (it = leafKeys.begin(); it.valid(); ++it)
castLeafKeys.pushBack((PQLeafKey<edge,whaInfo*,bool>*) *it);
addNewLeavesToTree(nodePtr,castLeafKeys);
}
}
开发者ID:boddulavineela,项目名称:ICSE-2011-ViewInfinity,代码行数:51,代码来源:PlanarSubgraphPQTree.cpp
示例19: removeSinkArcs
void UpwardPlanRep::removeSinkArcs(SList<adjEntry> &crossedEdges) {
if (crossedEdges.size() == 2)
return;
SListIterator<adjEntry> itPred = crossedEdges.begin(), it;
for(it = itPred.succ(); it.valid() && it.succ().valid(); ++it) {
adjEntry adj = *it;
if (m_isSinkArc[adj->theEdge()]) {
m_Gamma.joinFaces(adj->theEdge());
crossedEdges.delSucc(itPred);
it = itPred;
continue;
}
itPred = it;
}
m_Gamma.setExternalFace(m_Gamma.rightFace(extFaceHandle));
}
开发者ID:ogdf,项目名称:ogdf,代码行数:19,代码来源:UpwardPlanRep.cpp
示例20: Reduction
// Reduction reduced a set of leaves determined by their keys stored
// in leafKeys. Integer redNumber is for debugging only.
bool PlanarSubgraphPQTree::
Reduction(SListPure<PlanarLeafKey<whaInfo*>*> &leafKeys,
SList<PQLeafKey<edge,whaInfo*,bool>*> &eliminatedKeys,
int redNumber)
{
SListPure<PQLeafKey<edge,whaInfo*,bool>*> castLeafKeys;
SListIterator<PlanarLeafKey<whaInfo*>* > it;
for (it = leafKeys.begin(); it.valid(); ++it)
{
castLeafKeys.pushBack((PQLeafKey<edge,whaInfo*,bool>*) *it);
#ifdef OGDF_DEBUG
if (int(ogdf::debugLevel) >= int(dlHeavyChecks))
{
cout << (*it)->print() << endl;
}
#endif
}
determineMinRemoveSequence(castLeafKeys,eliminatedKeys);
removeEliminatedLeaves(eliminatedKeys);
SListIterator<PQLeafKey<edge,whaInfo*,bool>* > itn = castLeafKeys.begin();
SListIterator<PQLeafKey<edge,whaInfo*,bool>* > itp = itn++;
for (; itn.valid();)
{
if ((*itn)->nodePointer()->status()== WHA_DELETE)
{
itn++;
castLeafKeys.delSucc(itp);
}
else
itp = itn++;
}
if ((*castLeafKeys.begin())->nodePointer()->status() == WHA_DELETE)
castLeafKeys.popFront();
return Reduce(castLeafKeys,redNumber);
}
开发者ID:boddulavineela,项目名称:ICSE-2011-ViewInfinity,代码行数:43,代码来源:PlanarSubgraphPQTree.cpp
注:本文中的SListIterator类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论