blob: 708b26676b34b4e76f474fb33e56a367f41b0155 (
plain)
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
|
/*
* _ _ _ _ _____
* __ ____| |_ __ _ __ | |_ _ __ _(_)_ __ __| |_ ___ _|___ /
* \ \ / / _` | '__|____| '_ \| | | | |/ _` | | '_ \ _____ / _` \ \/ / '__||_ \
* \ V / (_| | | |_____| |_) | | |_| | (_| | | | | |_____| (_| |> <| | ___) |
* \_/ \__,_|_| | .__/|_|\__,_|\__, |_|_| |_| \__,_/_/\_\_| |____/
* |_| |___/
*
* Copyright (C) 2010 Christian Gmeiner
*
* This file is part of vdr-plugin-dxr3.
*
* vdr-plugin-dxr3 is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation version 2.
*
* vdr-plugin-dxr3 is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with dxr3-plugin. If not, see <http://www.gnu.org/licenses/>.
*
*/
#ifndef ACCESSORS_H
#define ACCESSORS_H
// based on a very good idea from
// * http://www.kirit.com/C%2B%2B%20killed%20the%20get%20%26%20set%20accessors
// * http://www.kirit.com/C%2B%2B%20killed%20the%20get%20%26%20set%20accessors/A%20simple%20meta-accessor
template<typename T>
class Accessors {
public:
Accessors() {}
explicit Accessors(const T &t) : m_t(t) {}
const T &operator() () const { return m_t; }
T operator() (const T &t) { return m_t = t; }
private:
T m_t;
};
#endif /*ACCESSORS_H*/
|