aboutsummaryrefslogtreecommitdiff
path: root/Src/nu/Alias.h
blob: 0c31818f669888d0c697912be0b7eac813716138 (plain) (blame)
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#ifndef NULLSOFT_UTILITY_ALIASH
#define NULLSOFT_UTILITY_ALIASH

template <class ptr_t>
class Alias
{
public:
	Alias()
		:pointer(0)
	{
	}
	Alias(ptr_t *_pointer) : pointer(_pointer)
	{
	}
	Alias(const Alias<ptr_t> &copy)
	{
		pointer=copy.pointer;
	}
	~Alias()
	{
		pointer=0;
	}
	ptr_t *operator = (ptr_t *copy)
	{
		pointer=copy;
		return copy;
	}

	ptr_t *operator ->()
	{
		return pointer;
	}

	operator bool()
	{
		return !!pointer;
	}

	bool operator == (ptr_t *compare)
	{
		return pointer == compare;
	}
/*
	operator ptr_t *()
	{
		return pointer;
	}
	*/

private:
	ptr_t *pointer;
};

#endif