-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathRepresentationUser.h
More file actions
32 lines (24 loc) · 1 KB
/
RepresentationUser.h
File metadata and controls
32 lines (24 loc) · 1 KB
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
/*
* RepresentationUser.h
*
* Created on: Jan 18, 2016
* Author: sabeyruw
*/
#ifndef REPRESENTATIONUSER_H_
#define REPRESENTATIONUSER_H_
#include "RepresentationPointer.h"
template<const char* (*getModuleName)(), const char* (*getRepresentationName)(), typename T>
class RepresentationUser : public RepresentationPointer<getModuleName, getRepresentationName, T>
{
public:
RepresentationUser() { Controller::getInstance().usedRepresentation(getModuleName(), getRepresentationName()); }
virtual ~RepresentationUser() { }
public:
const T* operator->() { return this->getRepresentation(); }
const T* operator->() const { return this->getRepresentation(); }
const T& operator *() { return *(this->getRepresentation()); }
const T& operator *() const { return *(this->getRepresentation()); }
operator const T*() { return this->getRepresentation(); }
operator const T*() const { return this->getRepresentation(); }
};
#endif /* REPRESENTATIONUSER_H_ */