summaryrefslogtreecommitdiff
path: root/ACE/examples/APG/Containers/RB_Tree_Functors.h
blob: 010fb5fda62bc3d2790f1831a341c5d9605ba49d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
/* -*- C++ -*- */
// $Id$

#ifndef __RB_TREE_FUNCTORS_H_
#define __RB_TREE_FUNCTORS_H_

#include "ace/Functor.h"

// Listing 1 code/ch05
// Same key type.
class KeyType
{
public:
  KeyType () : val_(0) {}
  KeyType (int i) : val_ (i) {}
  KeyType (const KeyType& kt) { this->val_ = kt.val_; }
  operator int() const { return val_; };

private:
  int val_;
};

ACE_BEGIN_VERSIONED_NAMESPACE_DECL

template<>
class ACE_Less_Than<KeyType>
{
public:
  int operator() (const KeyType k1, const KeyType k2)
  { return k1 < k2; }
};

ACE_END_VERSIONED_NAMESPACE_DECL

// Listing 1

#endif /* __RB_TREE_FUNCTORS_H_ */