Vegastrike 0.5.1 rc1  1.0
Original sources for Vegastrike Evolved
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
UniverseUtil::PythonUnitIter Class Reference

#include <universe_util.h>

Inheritance diagram for UniverseUtil::PythonUnitIter:
UnitCollection::UnitIterator

Public Member Functions

 PythonUnitIter ()
 
 PythonUnitIter (const UnitCollection::UnitIterator &t)
 
 ~PythonUnitIter ()
 
Unitcurrent ()
 
void advance ()
 
void advanceSignificant ()
 
void advanceInsignificant ()
 
void advancePlanet ()
 
void advanceJumppoint ()
 
void advanceN (int)
 
void advanceNSignificant (int n)
 
void advanceNInsignificant (int n)
 
void advanceNPlanet (int n)
 
void advanceNJumppoint (int n)
 
void preinsert (Unit *unit)
 
bool isDone ()
 
bool notDone ()
 
void remove ()
 
class Unitnext ()
 
- Public Member Functions inherited from UnitCollection::UnitIterator
 UnitIterator ()
 
 UnitIterator (const UnitIterator &)
 
 UnitIterator (UnitCollection *)
 
virtual ~UnitIterator ()
 
bool isDone ()
 
bool notDone ()
 
void remove ()
 
void moveBefore (UnitCollection &)
 
void preinsert (class Unit *)
 
void postinsert (class Unit *unit)
 
void advance ()
 
Unitnext ()
 
UnitIteratoroperator= (const UnitIterator &)
 
const UnitIterator operator++ (int)
 
const UnitIteratoroperator++ ()
 
Unitoperator* ()
 
 UnitIterator ()
 
 UnitIterator (UnitListNode *start)
 Creates this unit iterator. More...
 
 UnitIterator (const UnitIterator &orig)
 
UnitIteratoroperator= (const UnitIterator &orig)
 
 ~UnitIterator ()
 
bool isDone () const
 
bool notDone () const
 
void remove ()
 removes something after pos. eg the first valid unit. or current() More...
 
void moveBefore (UnitCollection &otherList)
 
void preinsert (Unit *unit)
 inserts in front of current More...
 
void postinsert (Unit *unit)
 inserts after current More...
 
Unitcurrent ()
 returns the unit pos is pointing at or NULL if all dead or end of list. More...
 
Unitnext ()
 advances the counter More...
 
void advance ()
 
Unitoperator++ (int)
 
Unitoperator++ ()
 
Unitoperator* ()
 

Additional Inherited Members

- Protected Attributes inherited from UnitCollection::UnitIterator
UnitCollectioncol
 
std::list< class Unit * >::iterator it
 

Detailed Description

Definition at line 19 of file universe_util.h.

Constructor & Destructor Documentation

UniverseUtil::PythonUnitIter::PythonUnitIter ( )
inline

Definition at line 21 of file universe_util.h.

UniverseUtil::PythonUnitIter::PythonUnitIter ( const UnitCollection::UnitIterator t)
inline

Definition at line 23 of file universe_util.h.

23 : UnitIterator( t ) {}
UniverseUtil::PythonUnitIter::~PythonUnitIter ( )
inline

Definition at line 24 of file universe_util.h.

24 {}

Member Function Documentation

void UniverseUtil::PythonUnitIter::advance ( )
inline

Definition at line 26 of file universe_util.h.

Referenced by next().

27  {
28  UnitIterator::advance();
29  }
void UniverseUtil::PythonUnitIter::advanceInsignificant ( )

Definition at line 64 of file universe_util_generic.cpp.

References UnitUtil::isSignificant().

65 {
66  advance();
67  while ( notDone() && UnitUtil::isSignificant( **this ) )
68  advance();
69 }
void UniverseUtil::PythonUnitIter::advanceJumppoint ( )

Definition at line 78 of file universe_util_generic.cpp.

79 {
80  advance();
81  while ( notDone() && !(**this)->isJumppoint() )
82  advance();
83 }
void UniverseUtil::PythonUnitIter::advanceN ( int  n)

Definition at line 85 of file universe_util_generic.cpp.

86 {
87  while (notDone() && n > 0) {
88  advance();
89  --n;
90  }
91 }
void UniverseUtil::PythonUnitIter::advanceNInsignificant ( int  n)

Definition at line 103 of file universe_util_generic.cpp.

References UnitUtil::isSignificant().

104 {
105  if ( notDone() && UnitUtil::isSignificant( **this ) )
107  while ( notDone() && (n > 0) ) {
109  --n;
110  }
111 }
void UniverseUtil::PythonUnitIter::advanceNJumppoint ( int  n)

Definition at line 123 of file universe_util_generic.cpp.

124 {
125  if ( notDone() && !(**this)->isJumppoint() )
127  while (notDone() && n > 0) {
129  --n;
130  }
131 }
void UniverseUtil::PythonUnitIter::advanceNPlanet ( int  n)

Definition at line 113 of file universe_util_generic.cpp.

114 {
115  if ( notDone() && !(**this)->isPlanet() )
116  advancePlanet();
117  while (notDone() && n > 0) {
118  advancePlanet();
119  --n;
120  }
121 }
void UniverseUtil::PythonUnitIter::advanceNSignificant ( int  n)

Definition at line 93 of file universe_util_generic.cpp.

References UnitUtil::isSignificant().

94 {
95  if ( notDone() && !UnitUtil::isSignificant( **this ) )
97  while ( notDone() && (n > 0) ) {
99  --n;
100  }
101 }
void UniverseUtil::PythonUnitIter::advancePlanet ( )

Definition at line 71 of file universe_util_generic.cpp.

72 {
73  advance();
74  while ( notDone() && !(**this)->isPlanet() )
75  advance();
76 }
void UniverseUtil::PythonUnitIter::advanceSignificant ( )

Definition at line 57 of file universe_util_generic.cpp.

References UnitUtil::isSignificant().

58 {
59  advance();
60  while ( notDone() && !UnitUtil::isSignificant( **this ) )
61  advance();
62 }
Unit * UniverseUtil::PythonUnitIter::current ( )

Definition at line 46 of file universe_util_generic.cpp.

References Unit::hull.

Referenced by next().

47 {
48  Unit *ret = NULL;
49  while ( (ret = **this) ) {
50  if (ret->hull > 0)
51  return ret;
52  advance();
53  }
54  return ret;
55 }
bool UniverseUtil::PythonUnitIter::isDone ( )
inline

Definition at line 43 of file universe_util.h.

44  {
45  return UnitIterator::isDone();
46  }
class Unit* UniverseUtil::PythonUnitIter::next ( )
inline

Definition at line 55 of file universe_util.h.

References advance(), and current().

56  {
57  advance();
58  return current();
59  }
bool UniverseUtil::PythonUnitIter::notDone ( )
inline

Definition at line 47 of file universe_util.h.

48  {
49  return UnitIterator::notDone();
50  }
void UniverseUtil::PythonUnitIter::preinsert ( Unit unit)
inline

Definition at line 39 of file universe_util.h.

40  {
41  UnitIterator::preinsert( unit );
42  }
void UniverseUtil::PythonUnitIter::remove ( )
inline

Definition at line 51 of file universe_util.h.

52  {
53  UnitIterator::remove();
54  }

The documentation for this class was generated from the following files: