diff options
Diffstat (limited to 'ACE/examples/APG/Containers/RB_Tree_Functors.h')
-rw-r--r-- | ACE/examples/APG/Containers/RB_Tree_Functors.h | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/ACE/examples/APG/Containers/RB_Tree_Functors.h b/ACE/examples/APG/Containers/RB_Tree_Functors.h new file mode 100644 index 00000000000..010fb5fda62 --- /dev/null +++ b/ACE/examples/APG/Containers/RB_Tree_Functors.h @@ -0,0 +1,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_ */ |