diff options
author | Christian Gmeiner <christian.gmeiner@gmail.com> | 2010-01-04 09:12:12 +0100 |
---|---|---|
committer | Christian Gmeiner <christian.gmeiner@gmail.com> | 2010-01-04 09:12:12 +0100 |
commit | 5aeb6af61490df93ff8be39cf62fe7782fe4674b (patch) | |
tree | df3572c4b245b3b831758e281a927fb8f11a2264 /accessors.h | |
parent | 3c5629fad2272c1ebe2343dfc233afb50d38292a (diff) | |
download | vdr-plugin-dxr3-5aeb6af61490df93ff8be39cf62fe7782fe4674b.tar.gz vdr-plugin-dxr3-5aeb6af61490df93ff8be39cf62fe7782fe4674b.tar.bz2 |
rework cSettings class to use a new way for setters and getters
The basic idea behind this commit is to get rid of those bad looking
getters and setters, where we have no logic used by them.
Diffstat (limited to 'accessors.h')
-rw-r--r-- | accessors.h | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/accessors.h b/accessors.h new file mode 100644 index 0000000..708b266 --- /dev/null +++ b/accessors.h @@ -0,0 +1,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*/ |