src/work/klao/iter_map_test.cc
author klao
Wed, 21 Apr 2004 18:56:26 +0000
changeset 365 9ca84022df34
parent 362 6c2e8a1f380a
child 366 be6fe0ea99b5
permissions -rw-r--r--
Masikfele iteralas, Node-hoz alkalmazkodva...
klao@347
     1
#include <iter_map.h>
klao@347
     2
#include <maps.h>
klao@347
     3
klao@347
     4
#include <iostream>
klao@347
     5
klao@347
     6
using namespace hugo;
klao@347
     7
using namespace std;
klao@347
     8
klao@347
     9
const int N = 3;
klao@347
    10
klao@347
    11
typedef StdMap<int,int> BaseMap;
klao@347
    12
typedef IterableMap<BaseMap, N> TestMap;
klao@361
    13
typedef IterableBoolMap<BaseMap> TestBoolMap;
klao@347
    14
klao@347
    15
klao@361
    16
template<typename TM>
klao@361
    17
void print(TM const& m, int N = 3) {
klao@347
    18
  cout << "Size of the map: " << m.size() << endl;
klao@347
    19
  for(int i=0; i<N; ++i) {
klao@347
    20
    cout << "  Class " << i << ". (size=" << m.size(i) << "): " << flush;
klao@347
    21
    cout << "    ";
klao@361
    22
    for(typename TM::iterator j = m.begin(i); j!=m.end(i); ++j) {
klao@347
    23
      cout << " " << *j;
klao@347
    24
    }
klao@347
    25
    cout << endl;
klao@347
    26
  }
klao@347
    27
}
klao@347
    28
klao@347
    29
int main() {
klao@347
    30
klao@361
    31
  {
klao@361
    32
    BaseMap base(344);
klao@361
    33
    TestMap test(base);
klao@347
    34
klao@347
    35
klao@361
    36
    print(test);
klao@347
    37
klao@361
    38
    cout << "Inserting 12 to class 2...\n";
klao@361
    39
    test.insert(12,2);
klao@361
    40
    print(test);
klao@347
    41
klao@347
    42
klao@361
    43
    cout << "Inserting 22 to class 2...\n";
klao@361
    44
    test.insert(22,2);
klao@361
    45
    print(test);
klao@347
    46
klao@361
    47
    cout << "Testing some map values:\n";
klao@361
    48
    cout << " 12: " << int(test[12]) << endl;
klao@347
    49
klao@361
    50
    cout << "Inserting 10 to class 0...\n";
klao@361
    51
    test.insert(10,0);
klao@361
    52
    print(test);
klao@347
    53
klao@361
    54
    cout << "Testing some map values:\n";
klao@361
    55
    cout << " 12: " << int(test[12]) << endl;
klao@347
    56
klao@361
    57
    cout << "Inserting 11 to class 1...\n";
klao@361
    58
    test.insert(11,1);
klao@361
    59
    print(test);
klao@347
    60
klao@361
    61
    cout << "Testing some map values:\n";
klao@361
    62
    cout << " 12: " << int(test[12]) << endl;
klao@361
    63
    cout << " 22: " << int(test[22]) << endl;
klao@361
    64
    cout << " 10: " << int(test[10]) << endl;
klao@361
    65
    cout << " 11: " << int(test[11]) << endl;
klao@361
    66
    cout << " 42: " << int(test[42]) << endl;
klao@347
    67
klao@361
    68
    cout << "Inserting 21 to class 1...\n";
klao@361
    69
    test.insert(21,1);
klao@361
    70
    print(test);
klao@347
    71
klao@361
    72
    cout << "Inserting 20 to class 1...\n";
klao@361
    73
    test.insert(20,0);
klao@361
    74
    print(test);
klao@347
    75
klao@361
    76
    cout << "Testing some map values:\n";
klao@361
    77
    cout << " 12: " << int(test[12]) << endl;
klao@361
    78
    cout << " 22: " << int(test[22]) << endl;
klao@361
    79
    cout << " 10: " << int(test[10]) << endl;
klao@361
    80
    cout << " 20: " << int(test[20]) << endl;
klao@361
    81
    cout << " 11: " << int(test[11]) << endl;
klao@361
    82
    cout << " 21: " << int(test[21]) << endl;
klao@361
    83
    cout << " 42: " << int(test[42]) << endl;
klao@347
    84
klao@361
    85
    cout << "Setting 20 to class 2...\n";
klao@361
    86
    test.set(20,2);
klao@361
    87
    print(test);
klao@347
    88
  
klao@361
    89
    cout << "Setting 10 to class 1...\n";
klao@361
    90
    test.set(10,1);
klao@361
    91
    print(test);
klao@347
    92
  
klao@361
    93
    cout << "Setting 11 to class 1...\n";
klao@361
    94
    test.set(11,1);
klao@361
    95
    print(test);
klao@347
    96
  
klao@361
    97
    cout << "Setting 12 to class 1...\n";
klao@361
    98
    test.set(12,1);
klao@361
    99
    print(test);
klao@347
   100
  
klao@361
   101
    cout << "Setting 21 to class 2...\n";
klao@361
   102
    test.set(21,2);
klao@361
   103
    print(test);
klao@347
   104
  
klao@361
   105
    cout << "Setting 22 to class 2...\n";
klao@361
   106
    test.set(22,2);
klao@361
   107
    print(test);
klao@347
   108
  
klao@361
   109
    cout << "Testing some map values:\n";
klao@361
   110
    cout << " 12: " << int(test[12]) << endl;
klao@361
   111
    cout << " 22: " << int(test[22]) << endl;
klao@361
   112
    cout << " 10: " << int(test[10]) << endl;
klao@361
   113
    cout << " 20: " << int(test[20]) << endl;
klao@361
   114
    cout << " 11: " << int(test[11]) << endl;
klao@361
   115
    cout << " 21: " << int(test[21]) << endl;
klao@361
   116
    cout << " 42: " << int(test[42]) << endl;
klao@361
   117
  }
klao@347
   118
klao@361
   119
  {
klao@362
   120
    cout << "\n\n\nTesting the IterableBoolMap...\n";
klao@361
   121
klao@361
   122
    BaseMap base(344);
klao@362
   123
    TestBoolMap test(base,true);
klao@361
   124
klao@361
   125
klao@361
   126
    print(test,2);
klao@361
   127
klao@361
   128
    cout << "Inserting 12 to class true...\n";
klao@361
   129
    test.insert(12,true);
klao@361
   130
    print(test,2);
klao@361
   131
klao@361
   132
klao@361
   133
    cout << "Inserting 22 to class true...\n";
klao@361
   134
    test.insert(22,true);
klao@361
   135
    print(test,2);
klao@361
   136
klao@361
   137
    cout << "Testing some map values:\n";
klao@361
   138
    cout << " 12: " << test[12] << endl;
klao@361
   139
klao@361
   140
    cout << "Inserting 10 to class false...\n";
klao@361
   141
    test.insert(10,false);
klao@361
   142
    print(test,2);
klao@361
   143
klao@361
   144
    cout << "Testing some map values:\n";
klao@361
   145
    cout << " 12: " << test[12] << endl;
klao@361
   146
klao@361
   147
    cout << "Inserting 11 to class false...\n";
klao@361
   148
    test.insert(11,false);
klao@361
   149
    print(test,2);
klao@361
   150
klao@361
   151
    cout << "Testing some map values:\n";
klao@361
   152
    cout << " 12: " << test[12] << endl;
klao@361
   153
    cout << " 22: " << test[22] << endl;
klao@361
   154
    cout << " 10: " << test[10] << endl;
klao@361
   155
    cout << " 11: " << test[11] << endl;
klao@361
   156
    cout << " 42: " << test[42] << endl;
klao@361
   157
klao@362
   158
    cout << "Setting 10 to class true...\n";
klao@362
   159
    test.set(10,true);
klao@361
   160
    print(test,2);
klao@361
   161
  
klao@362
   162
    cout << "Setting 11 to class true...\n";
klao@361
   163
    test.set(11,1);
klao@361
   164
    print(test,2);
klao@361
   165
  
klao@362
   166
    cout << "Setting 12 to class false...\n";
klao@362
   167
    test.set(12,false);
klao@361
   168
    print(test,2);
klao@361
   169
  
klao@362
   170
    cout << "Setting 22 to class false...\n";
klao@362
   171
    test.set(22,false);
klao@361
   172
    print(test,2);
klao@361
   173
  
klao@361
   174
    cout << "Testing some map values:\n";
klao@361
   175
    cout << " 12: " << test[12] << endl;
klao@361
   176
    cout << " 22: " << test[22] << endl;
klao@361
   177
    cout << " 10: " << test[10] << endl;
klao@361
   178
    cout << " 11: " << test[11] << endl;
klao@361
   179
    cout << " 42: " << test[42] << endl;
klao@361
   180
klao@361
   181
  }
klao@347
   182
}