Voxellancer  0.3
A game about voxels in space
 All Classes Functions Pages
property.h
1 #pragma once
2 
3 #include <string>
4 
5 template <class T>
7 
11 template <class T>
12 class Property {
13 public:
14  Property(const std::string& name);
15  Property(const std::string& name, const T& defaultValue);
16 
17  const std::string& name() const;
18 
19  const T& get() const;
20  void set(const T& value);
21 
22  operator T() const;
23  const T* operator->() const;
24 
25  static T get(const std::string& name);
26  static T get(const std::string& name, const T& defaultvalue);
27 
28  static Property<T> unnamed(const T& value);
29 
30 protected:
31  PropertyImpl<T>* m_impl;
32 
33 };
34 
38 template<class T>
39 Property<T> unnamedProperty(const T& value) {
40  return Property<T>::unnamed(value);
41 }
42 
43 #include "property.inl"
Definition: property.h:12
Definition: property.h:6