~ubuntu-branches/ubuntu/raring/blitz++/raring

« back to all changes in this revision

Viewing changes to compiler/enumcmp2.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Konstantinos Margaritis
  • Date: 2005-02-28 20:25:01 UTC
  • mfrom: (2.1.2 hoary)
  • Revision ID: james.westby@ubuntu.com-20050228202501-3i4f2sknnprsqfhz
Tags: 1:0.8-4
Added missing build-depends (Closes: #297323)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
// BZ_ENUM_COMPUTATIONS_WITH_CAST
2
 
 
3
 
struct foo {
4
 
    enum { a = 5, b = 7, c = 2 };
5
 
};
6
 
 
7
 
struct bar {
8
 
    enum { a = 1, b = 6, c = 9 };
9
 
};
10
 
 
11
 
template<class T1, class T2>
12
 
struct Z {
13
 
    enum { a = ((int)T1::a > (int)T2::a) ? (int)T1::a : (int)T2::b,
14
 
           b = (int)T1::b + (int)T2::b,
15
 
           c = ((int)T1::c * (int)T2::c + (int)T2::a + (int)T1::a)
16
 
    };
17
 
};
18
 
 
19
 
int main()
20
 
{
21
 
    if (((int)Z<foo,bar>::a == 5) && ((int)Z<foo,bar>::b == 13) 
22
 
      && ((int)Z<foo,bar>::c == 24))
23
 
        return 0;
24
 
    else
25
 
        return 1;
26
 
}
27