libUTL++
THeapIt.h
1 #pragma once
2 
4 
5 #include <libutl/HeapIt.h>
6 
8 
9 UTL_NS_BEGIN;
10 
12 
20 
22 template <class T>
23 class THeapIt : public HeapIt
24 {
27 
28 public:
29  T*
30  get() const
31  {
32  return utl::cast<T>(HeapIt::get());
33  }
34 
35  T* operator*() const
36  {
37  return get();
38  }
39 
40 public:
41  // for STL
42  typedef T* value_type;
43  typedef T*& reference;
44  typedef T** pointer;
45  typedef std::bidirectional_iterator_tag iterator_category;
46  typedef std::ptrdiff_t difference_type;
47 };
48 
50 
51 UTL_NS_END;
52 
54 
#define UTL_CLASS_IMPL_TPL(className, T)
Implementation of standard UTL++ functionality for a template class.
Definition: macros.h:906
#define UTL_CLASS_DEFID
Default init() and deInit() (which are merely place-holders).
Definition: macros.h:532
Bi-directional Heap iterator.
Definition: HeapIt.h:22
#define UTL_CLASS_DECL_TPL(DC, T, BC)
Declaration of standard UTL++ functionality for a template class with one parameter.
Definition: macros.h:713
Template version of HeapIt.
Definition: THeapIt.h:23