~ubuntu-branches/debian/sid/ember/sid

« back to all changes in this revision

Viewing changes to src/components/ogre/ogreopcode/include/Opcode/Ice/IcePairs.h

  • Committer: Bazaar Package Importer
  • Author(s): Michael Koch
  • Date: 2009-07-23 07:46:40 UTC
  • Revision ID: james.westby@ubuntu.com-20090723074640-wh0ukzis0kda36qv
Tags: upstream-0.5.6
ImportĀ upstreamĀ versionĀ 0.5.6

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
2
/**
 
3
 *      Contains a simple pair class.
 
4
 *      \file           IcePairs.h
 
5
 *      \author         Pierre Terdiman
 
6
 *      \date           January, 13, 2003
 
7
 */
 
8
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
9
 
 
10
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
11
// Include Guard
 
12
#ifndef __ICEPAIRS_H__
 
13
#define __ICEPAIRS_H__
 
14
 
 
15
        //! A generic couple structure
 
16
        struct Pair
 
17
        {
 
18
                inline_ Pair()  {}
 
19
                inline_ Pair(udword i0, udword i1) : id0(i0), id1(i1)   {}
 
20
 
 
21
                udword  id0;    //!< First index of the pair
 
22
                udword  id1;    //!< Second index of the pair
 
23
        };
 
24
 
 
25
        class 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();                                                                      }
 
39
                inline_ void                    DeleteLastPair()                                { DeleteLastEntry();    DeleteLastEntry();      }
 
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__