source: liblaziness/bintree.h @ 29

Last change on this file since 29 was 4, checked in by artyom, 13 years ago

liblaziness

File size: 548 bytes
Line 
1#ifndef __BINTREE_H__
2#define __BINTREE_H__
3#include "lazy.h"
4
5template<typename T>
6class BinTreeBase
7{
8        public:
9                BinTreeBase(Lazy<BinTreeBase<T>> left, Lazy<T> val, Lazy<BinTreeBase<T>> right) : left(left), right(right), val(val) { }
10                ~BinTreeBase() { }
11
12                Lazy<BinTreeBase<T>> getLeft() { return left; }
13                Lazy<BinTreeBase<T>> getRight() { return right; }
14                Lazy<T> get() { return val; }
15
16        private:
17                Lazy<BinTreeBase<T>> left;
18                Lazy<BinTreeBase<T>> right;
19                Lazy<T> val;
20};
21
22template<typename T>
23using BinTree = Lazy<BinTreeBase<T>>;
24
25#endif
Note: See TracBrowser for help on using the repository browser.