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
IcePairs.h
Go to the documentation of this file.
1 
8 
11 // Include Guard
12 #ifndef __ICEPAIRS_H__
13 #define __ICEPAIRS_H__
14 
17  {
19  inline_ Pair(udword i0, udword i1) : id0(i0), id1(i1) {}
20 
23  };
24 
25  class ICECORE_API Pairs : private Container
26  {
27  public:
28  // Constructor / Destructor
29  Pairs() {}
30  ~Pairs() {}
31 
32  inline_ udword GetNbPairs() const { return GetNbEntries()>>1; }
33  inline_ const Pair* GetPairs() const { return (const Pair*)GetEntries(); }
34  inline_ const Pair* GetPair(udword i) const { return (const Pair*)&GetEntries()[i+i]; }
35 
36  inline_ BOOL HasPairs() const { return IsNotEmpty(); }
37 
38  inline_ void ResetPairs() { Reset(); }
40 
41  inline_ void AddPair(const Pair& p) { Add(p.id0).Add(p.id1); }
42  inline_ void AddPair(udword id0, udword id1) { Add(id0).Add(id1); }
43  };
44 
45 #endif // __ICEPAIRS_H__