26 #ifndef __GyotoProperty_H_ 27 #define __GyotoProperty_H_ 40 namespace Metric {
class Generic; }
41 namespace Astrobj {
class Generic; }
42 namespace Spectrum {
class Generic; }
43 namespace Spectrometer {
class Generic; }
52 #define GYOTO_PROPERTY_THREAD_UNSAFE(class) \ 53 bool class::isThreadSafe() const {return false;} 60 #define GYOTO_PROPERTY_ACCESSORS(class, type, member, method) \ 61 void class::method(type v) {member=v;} \ 62 type class::method() const {return member;} 73 #define GYOTO_PROPERTY_ACCESSORS_SPECIAL(class, type, member, method, set, get) \ 74 void class::method(type v) {member=v; set } \ 75 type class::method() const {get ; return member;} 88 #define GYOTO_PROPERTY_ACCESSORS_GEOMETRICAL(class, member, method, metric) \ 89 GYOTO_PROPERTY_ACCESSORS(class, double, member, method) \ 90 void class::method(double v, std::string const &u) { \ 91 member=Units::ToGeometrical(v, u, metric); \ 93 double class::method(std::string const &u) const { \ 94 return Units::FromGeometrical(member, u, metric); \ 108 #define GYOTO_PROPERTY_ACCESSORS_GEOMETRICAL_SPECIAL(class, member, method, metric, set, get) \ 109 GYOTO_PROPERTY_ACCESSORS_SPECIAL(class, double, member, method, set, get) \ 110 void class::method(double v, std::string const &u) { \ 111 member=Units::ToGeometrical(v, u, metric); \ 113 double class::method(std::string const &u) const { \ 114 return Units::FromGeometrical(member, u, metric); \ 127 #define GYOTO_PROPERTY_ACCESSORS_UNIT(class, member, method, unit) \ 128 GYOTO_PROPERTY_ACCESSORS(class, double, member, method) \ 129 void class::method(double v, std::string const &u) { \ 130 method(Units::Converter(u, unit)(v)); \ 132 double class::method(std::string const &u) const { \ 133 return Units::Converter(unit, u)(method()); \ 141 #define GYOTO_PROPERTY_START(...) \ 142 GYOTO_PROPERTY_CHOOSER(,##__VA_ARGS__, \ 143 "wrong number of arguments", \ 144 "wrong number of arguments", \ 145 "wrong number of arguments", \ 146 "wrong number of arguments", \ 147 GYOTO_PROPERTY_START_DOC(__VA_ARGS__), \ 148 GYOTO_PROPERTY_START_NODOC(__VA_ARGS__), \ 149 "wrong number of arguments" \ 164 #define GYOTO_PROPERTY_BOOL(...) \ 165 GYOTO_PROPERTY_CHOOSER(,##__VA_ARGS__, \ 166 "wrong number of arguments", \ 167 GYOTO_PROPERTY_BOOL_DOC(__VA_ARGS__), \ 168 GYOTO_PROPERTY_BOOL_NODOC(__VA_ARGS__), \ 169 "wrong number of arguments", \ 170 "wrong number of arguments", \ 171 "wrong number of arguments", \ 172 "wrong number of arguments" \ 185 #define GYOTO_PROPERTY_DOUBLE(...) \ 186 GYOTO_PROPERTY_CHOOSER(,##__VA_ARGS__, \ 189 GYOTO_PROPERTY_DOUBLE_DOC(__VA_ARGS__), \ 190 GYOTO_PROPERTY_DOUBLE_NODOC(__VA_ARGS__), \ 207 #define GYOTO_PROPERTY_DOUBLE_UNIT(...) \ 208 GYOTO_PROPERTY_CHOOSER(,##__VA_ARGS__, \ 211 GYOTO_PROPERTY_DOUBLE_UNIT_DOC(__VA_ARGS__), \ 212 GYOTO_PROPERTY_DOUBLE_UNIT_NODOC(__VA_ARGS__), \ 228 #define GYOTO_PROPERTY_VECTOR_DOUBLE(...) \ 229 GYOTO_PROPERTY_CHOOSER(,##__VA_ARGS__, \ 232 GYOTO_PROPERTY_VECTOR_DOUBLE_DOC(__VA_ARGS__), \ 233 GYOTO_PROPERTY_VECTOR_DOUBLE_NODOC(__VA_ARGS__), \ 249 #define GYOTO_PROPERTY_VECTOR_DOUBLE_UNIT(...) \ 250 GYOTO_PROPERTY_CHOOSER(,##__VA_ARGS__, \ 253 GYOTO_PROPERTY_VECTOR_DOUBLE_UNIT_DOC(__VA_ARGS__), \ 254 GYOTO_PROPERTY_VECTOR_DOUBLE_UNIT_NODOC(__VA_ARGS__), \ 270 #define GYOTO_PROPERTY_STRING(...) \ 271 GYOTO_PROPERTY_CHOOSER(,##__VA_ARGS__, \ 274 GYOTO_PROPERTY_STRING_DOC(__VA_ARGS__), \ 275 GYOTO_PROPERTY_STRING_NODOC(__VA_ARGS__), \ 291 #define GYOTO_PROPERTY_FILENAME(...) \ 292 GYOTO_PROPERTY_CHOOSER(,##__VA_ARGS__, \ 295 GYOTO_PROPERTY_FILENAME_DOC(__VA_ARGS__), \ 296 GYOTO_PROPERTY_FILENAME_NODOC(__VA_ARGS__), \ 312 #define GYOTO_PROPERTY_LONG(...) \ 313 GYOTO_PROPERTY_CHOOSER(,##__VA_ARGS__, \ 316 GYOTO_PROPERTY_LONG_DOC(__VA_ARGS__), \ 317 GYOTO_PROPERTY_LONG_NODOC(__VA_ARGS__), \ 333 #define GYOTO_PROPERTY_UNSIGNED_LONG(...) \ 334 GYOTO_PROPERTY_CHOOSER(,##__VA_ARGS__, \ 337 GYOTO_PROPERTY_UNSIGNED_LONG_DOC(__VA_ARGS__), \ 338 GYOTO_PROPERTY_UNSIGNED_LONG_NODOC(__VA_ARGS__), \ 354 #define GYOTO_PROPERTY_VECTOR_UNSIGNED_LONG(...) \ 355 GYOTO_PROPERTY_CHOOSER(,##__VA_ARGS__, \ 358 GYOTO_PROPERTY_VECTOR_UNSIGNED_LONG_DOC(__VA_ARGS__), \ 359 GYOTO_PROPERTY_VECTOR_UNSIGNED_LONG_NODOC(__VA_ARGS__), \ 375 #define GYOTO_PROPERTY_SIZE_T(...) \ 376 GYOTO_PROPERTY_CHOOSER(,##__VA_ARGS__, \ 379 GYOTO_PROPERTY_SIZE_T_DOC(__VA_ARGS__), \ 380 GYOTO_PROPERTY_SIZE_T_NODOC(__VA_ARGS__), \ 396 #define GYOTO_PROPERTY_METRIC(...) \ 397 GYOTO_PROPERTY_CHOOSER(,##__VA_ARGS__, \ 400 GYOTO_PROPERTY_METRIC_DOC(__VA_ARGS__), \ 401 GYOTO_PROPERTY_METRIC_NODOC(__VA_ARGS__), \ 418 #define GYOTO_PROPERTY_SPECTRUM(...) \ 419 GYOTO_PROPERTY_CHOOSER(,##__VA_ARGS__, \ 422 GYOTO_PROPERTY_SPECTRUM_DOC(__VA_ARGS__), \ 423 GYOTO_PROPERTY_SPECTRUM_NODOC(__VA_ARGS__), \ 440 #define GYOTO_PROPERTY_ASTROBJ(...) \ 441 GYOTO_PROPERTY_CHOOSER(,##__VA_ARGS__, \ 444 GYOTO_PROPERTY_ASTROBJ_DOC(__VA_ARGS__), \ 445 GYOTO_PROPERTY_ASTROBJ_NODOC(__VA_ARGS__), \ 462 #define GYOTO_PROPERTY_SCREEN(...) \ 463 GYOTO_PROPERTY_CHOOSER(,##__VA_ARGS__, \ 466 GYOTO_PROPERTY_SCREEN_DOC(__VA_ARGS__), \ 467 GYOTO_PROPERTY_SCREEN_NODOC(__VA_ARGS__), \ 484 #define GYOTO_PROPERTY_SPECTROMETER(...) \ 485 GYOTO_PROPERTY_CHOOSER(,##__VA_ARGS__, \ 488 GYOTO_PROPERTY_SPECTROMETER_DOC(__VA_ARGS__), \ 489 GYOTO_PROPERTY_SPECTROMETER_NODOC(__VA_ARGS__), \ 496 #define GYOTO_PROPERTY_END(class, next) \ 498 Gyoto::Property const * class::getProperties() const { \ 499 return class::properties; \ 501 const std::string class::builtinPluginValue ( GYOTO_STRINGIFY(GYOTO_PLUGIN) ); \ 502 std::vector<std::string> class::plugins() const { \ 503 if (plugins_.size() == 0) { \ 504 std::vector<std::string> p; \ 505 p.push_back(class::builtinPluginValue); \ 510 void class::plugins(std::vector<std::string> const & plugname) { \ 677 std::string
const &unit);
828 operator bool()
const ;
837 Property(std::string classname, std::string doc=
"");
950 #define GYOTO_PROPERTY_CHOOSER(x, A, B, C, D, E, F, FUNC, ...) FUNC 952 #define GYOTO_PROPERTY_START_DOC(class, doc) \ 953 Property const class::properties[] = { \ 954 Property (#class, doc), 956 #define GYOTO_PROPERTY_START_NODOC(class) \ 957 GYOTO_PROPERTY_START_DOC(class, "") 960 #define GYOTO_PROPERTY_BOOL_DOC(class, name, namef, fname, doc) \ 964 (Gyoto::Property::set_bool_t)&class :: fname, \ 965 (Gyoto::Property::get_bool_t)&class :: fname, \ 967 #define GYOTO_PROPERTY_BOOL_NODOC(class, name, namef, fname) \ 968 GYOTO_PROPERTY_BOOL_DOC(class, name, namef, fname, "") 970 #define GYOTO_PROPERTY_DOUBLE_DOC(class, name, fname, doc) \ 973 (Gyoto::Property::set_double_t)&class::fname, \ 974 (Gyoto::Property::get_double_t)&class::fname, \ 976 #define GYOTO_PROPERTY_DOUBLE_NODOC(class, name, fname) \ 977 GYOTO_PROPERTY_DOUBLE_DOC(class, name, fname, "") 979 #define GYOTO_PROPERTY_LONG_DOC(class, name, fname, doc) \ 982 (Gyoto::Property::set_long_t)&class::fname, \ 983 (Gyoto::Property::get_long_t)&class::fname, \ 985 #define GYOTO_PROPERTY_LONG_NODOC(class, name, fname) \ 986 GYOTO_PROPERTY_LONG_DOC(class, name, fname, "") 988 #define GYOTO_PROPERTY_UNSIGNED_LONG_DOC(class, name, fname, doc) \ 991 (Gyoto::Property::set_unsigned_long_t)&class::fname, \ 992 (Gyoto::Property::get_unsigned_long_t)&class::fname, \ 994 #define GYOTO_PROPERTY_UNSIGNED_LONG_NODOC(class, name, fname) \ 995 GYOTO_PROPERTY_UNSIGNED_LONG_DOC(class, name, fname, "") 997 #define GYOTO_PROPERTY_SIZE_T_DOC(class, name, fname, doc) \ 1000 (Gyoto::Property::set_size_t_t)&class::fname, \ 1001 (Gyoto::Property::get_size_t_t)&class::fname, \ 1004 #define GYOTO_PROPERTY_SIZE_T_NODOC(class, name, fname) \ 1005 GYOTO_PROPERTY_SIZE_T_DOC(class, name, fname, "") 1007 #define GYOTO_PROPERTY_DOUBLE_UNIT_DOC(class, name, fname, doc) \ 1010 (Gyoto::Property::set_double_t)&class::fname, \ 1011 (Gyoto::Property::get_double_t)&class::fname, \ 1012 (Gyoto::Property::set_double_unit_t)&class::fname, \ 1013 (Gyoto::Property::get_double_unit_t)&class::fname, \ 1015 #define GYOTO_PROPERTY_DOUBLE_UNIT_NODOC(class, name, fname) \ 1016 GYOTO_PROPERTY_DOUBLE_UNIT_DOC(class, name, fname, "") 1018 #define GYOTO_PROPERTY_FILENAME_DOC(class, name, fname, doc) \ 1021 (Gyoto::Property::set_string_t)&class::fname, \ 1022 (Gyoto::Property::get_string_t)&class::fname, \ 1024 #define GYOTO_PROPERTY_FILENAME_NODOC(class, name, fname) \ 1025 GYOTO_PROPERTY_FILENAME_DOC(class, name, fname, "") 1027 #define GYOTO_PROPERTY_STRING_DOC(class, name, fname, doc) \ 1030 (Gyoto::Property::set_string_t)&class::fname, \ 1031 (Gyoto::Property::get_string_t)&class::fname, \ 1033 #define GYOTO_PROPERTY_STRING_NODOC(class, name, fname) \ 1034 GYOTO_PROPERTY_STRING_DOC(class, name, fname, "") 1036 #define GYOTO_PROPERTY_VECTOR_DOUBLE_DOC(class, name, fname, doc) \ 1039 (Gyoto::Property::set_vector_double_t)&class::fname, \ 1040 (Gyoto::Property::get_vector_double_t)&class::fname, \ 1042 #define GYOTO_PROPERTY_VECTOR_DOUBLE_NODOC(class, name, fname) \ 1043 GYOTO_PROPERTY_VECTOR_DOUBLE_DOC(class, name, fname, "") 1045 #define GYOTO_PROPERTY_VECTOR_DOUBLE_UNIT_DOC(class, name, fname, doc) \ 1048 (Gyoto::Property::set_vector_double_t)&class::fname, \ 1049 (Gyoto::Property::get_vector_double_t)&class::fname, \ 1050 (Gyoto::Property::set_vector_double_unit_t)&class::fname, \ 1051 (Gyoto::Property::get_vector_double_unit_t)&class::fname, \ 1053 #define GYOTO_PROPERTY_VECTOR_DOUBLE_UNIT_NODOC(class, name, fname) \ 1054 GYOTO_PROPERTY_VECTOR_DOUBLE_UNIT_DOC(class, name, fname, "") 1056 #define GYOTO_PROPERTY_VECTOR_UNSIGNED_LONG_DOC(class, name, fname, doc) \ 1059 (Gyoto::Property::set_vector_unsigned_long_t)&class::fname, \ 1060 (Gyoto::Property::get_vector_unsigned_long_t)&class::fname, \ 1062 #define GYOTO_PROPERTY_VECTOR_UNSIGNED_LONG_NODOC(class, name, fname) \ 1063 GYOTO_PROPERTY_VECTOR_UNSIGNED_LONG_DOC(class, name, fname, "") 1065 #define GYOTO_PROPERTY_METRIC_DOC(class, name, fname, doc) \ 1068 (Gyoto::Property::set_metric_t)&class::fname, \ 1069 (Gyoto::Property::get_metric_t)&class::fname, \ 1071 #define GYOTO_PROPERTY_METRIC_NODOC(class, name, fname) \ 1072 GYOTO_PROPERTY_METRIC_DOC(class, name, fname, "") 1074 #define GYOTO_PROPERTY_SCREEN_DOC(class, name, fname, doc) \ 1077 (Gyoto::Property::set_screen_t)&class::fname, \ 1078 (Gyoto::Property::get_screen_t)&class::fname, \ 1080 #define GYOTO_PROPERTY_SCREEN_NODOC(class, name, fname) \ 1081 GYOTO_PROPERTY_SCREEN_DOC(class, name, fname, "") 1083 #define GYOTO_PROPERTY_ASTROBJ_DOC(class, name, fname, doc) \ 1086 (Gyoto::Property::set_astrobj_t)&class::fname, \ 1087 (Gyoto::Property::get_astrobj_t)&class::fname, \ 1089 #define GYOTO_PROPERTY_ASTROBJ_NODOC(class, name, fname) \ 1090 GYOTO_PROPERTY_ASTROBJ_DOC(class, name, fname, "") 1092 #define GYOTO_PROPERTY_SPECTRUM_DOC(class, name, fname, doc) \ 1095 (Gyoto::Property::set_spectrum_t)&class::fname, \ 1096 (Gyoto::Property::get_spectrum_t)&class::fname, \ 1098 #define GYOTO_PROPERTY_SPECTRUM_NODOC(class, name, fname) \ 1099 GYOTO_PROPERTY_SPECTRUM_DOC(class, name, fname, "") 1101 #define GYOTO_PROPERTY_SPECTROMETER_DOC(class, name, fname, doc) \ 1104 (Gyoto::Property::set_spectrometer_t)&class::fname, \ 1105 (Gyoto::Property::get_spectrometer_t)&class::fname, \ 1107 #define GYOTO_PROPERTY_SPECTROMETER_NODOC(class, name, fname) \ 1108 GYOTO_PROPERTY_SPECTROMETER_DOC(class, name, fname, "") void(Object::* set_bool_t)(bool val)
Prototype for an accessor to set a bool.
Definition: GyotoProperty.h:693
Union holding an accessor to set any type.
Definition: GyotoProperty.h:756
void(Object::* set_vector_unsigned_long_t)(std::vector< unsigned long > const &)
Prototype for an accessor to set a std::vector<unsigned long>
Definition: GyotoProperty.h:713
double(Object::* get_double_unit_t)(std::string const &unit) const
Prototype for an accessor to get a double, with unit.
Definition: GyotoProperty.h:679
void(Object::* set_metric_t)(Gyoto::SmartPointer< Gyoto::Metric::Generic >)
Prototype for an accessor to set a Gyoto::SmartPointer<Gyoto::Metric::Generic>
Definition: GyotoProperty.h:719
std::vector< unsigned long >(Object::* get_vector_unsigned_long_t)() const
Prototype for an accessor to get a std::vector<unsigned long>
Definition: GyotoProperty.h:715
unsigned long(Object::* get_unsigned_long_t)() const
Prototype for an accessor to get an unsigned long.
Definition: GyotoProperty.h:687
Type is std::string and holds a file name.
Definition: GyotoProperty.h:638
Gyoto::SmartPointer< Gyoto::Astrobj::Generic >(Object::* get_astrobj_t)() const
Prototype for an accessor to get a Gyoto::SmartPointer<Gyoto::Astrobj::Generic>
Definition: GyotoProperty.h:736
Union holding an accessor to get any type.
Definition: GyotoProperty.h:775
long(Object::* get_long_t)() const
Prototype for an accessor to get a long.
Definition: GyotoProperty.h:683
Type is bool.
Definition: GyotoProperty.h:626
void(Object::* set_long_t)(long val)
Prototype for an accessor to set a long.
Definition: GyotoProperty.h:681
std::string name_false
Name if false.
Definition: GyotoProperty.h:668
size_t(Object::* get_size_t_t)() const
Prototype for an accessor to get a size_t.
Definition: GyotoProperty.h:691
Type is long.
Definition: GyotoProperty.h:620
#define size_t
If not defined in <sys/types.h>.
Definition: GyotoConfig.h:387
Type is Gyoto::SmartPointer<Gyoto::Metric::Generic>
Definition: GyotoProperty.h:644
void(Object::* set_size_t_t)(size_t val)
Prototype for an accessor to set a size_t.
Definition: GyotoProperty.h:689
void(Object::* set_vector_double_unit_t)(std::vector< double > const &, std::string const &)
Prototype for an accessor to set a std::vector<double>, with unit.
Definition: GyotoProperty.h:709
void(Object::* set_double_unit_t)(double val, std::string const &unit)
Prototype for an accessor to set a double, with unit.
Definition: GyotoProperty.h:676
bool(Object::* get_bool_t)() const
Prototype for an accessor to get a bool.
Definition: GyotoProperty.h:695
setter_t setter
Pointer to the setter method.
Definition: GyotoProperty.h:808
std::string name
Name of this instance.
Definition: GyotoProperty.h:663
std::vector< double >(Object::* get_vector_double_t)() const
Prototype for an accessor to get a std::vector<double>
Definition: GyotoProperty.h:707
void(Object::* set_spectrum_t)(Gyoto::SmartPointer< Gyoto::Spectrum::Generic >)
Prototype for an accessor to set a Gyoto::SmartPointer<Gyoto::Spectrum::Generic>
Definition: GyotoProperty.h:740
Type is std::vector<unsigned long>
Definition: GyotoProperty.h:642
Gyoto::SmartPointer< Gyoto::Spectrometer::Generic >(Object::* get_spectrometer_t)() const
Prototype for an accessor to get a Gyoto::SmartPointer<Gyoto::Spectrometer::Generic> ...
Definition: GyotoProperty.h:750
Type is double.
Definition: GyotoProperty.h:618
Compile-time configuration.
type_e
Possible type of a Property instance.
Definition: GyotoProperty.h:616
void(Object::* set_astrobj_t)(Gyoto::SmartPointer< Gyoto::Astrobj::Generic >)
Prototype for an accessor to set a Gyoto::SmartPointer<Gyoto::Astrobj::Generic>
Definition: GyotoProperty.h:733
Property that can be set and got using standard methods.
Definition: GyotoProperty.h:607
setter_unit_t setter_unit
Pointer to the setter (with unit) method.
Definition: GyotoProperty.h:818
getter_unit_t getter_unit
Pointer to the getter (with unit) method.
Definition: GyotoProperty.h:823
void(Object::* set_spectrometer_t)(Gyoto::SmartPointer< Gyoto::Spectrometer::Generic >)
Prototype for an accessor to set a Gyoto::SmartPointer<Gyoto::Spectrometer::Generic> ...
Definition: GyotoProperty.h:747
void(Object::* set_unsigned_long_t)(unsigned long val)
Prototype for an accessor to set an unsigned long.
Definition: GyotoProperty.h:685
double(Object::* get_double_t)() const
Prototype for an accessor to get a double.
Definition: GyotoProperty.h:674
Type is Gyoto::SmartPointer<Gyoto::Spectrum::Generic>
Definition: GyotoProperty.h:650
void(Object::* set_vector_double_t)(std::vector< double > const &)
Prototype for an accessor to set a std::vector<double>
Definition: GyotoProperty.h:705
int type
Type of this instance.
Definition: GyotoProperty.h:670
Union holding an accessor to get double or vector<double> with unit.
Definition: GyotoProperty.h:799
Namespace for the Gyoto library.
Definition: GyotoAstrobj.h:43
Union holding an accessor to set double or vector<double> with unit.
Definition: GyotoProperty.h:794
Type is Gyoto::SmartPointer<Gyoto::Spectrometer::Generic>
Definition: GyotoProperty.h:652
Gyoto::SmartPointer< Gyoto::Metric::Generic >(Object::* get_metric_t)() const
Prototype for an accessor to get a Gyoto::SmartPointer<Gyoto::Metric::Generic>
Definition: GyotoProperty.h:722
void(Object::* set_double_t)(double val)
Prototype for an accessor to set a double.
Definition: GyotoProperty.h:672
Property(Property const *const ancestor)
Constructor for type==empty_t.
Pointers performing reference counting.
Definition: GyotoProperty.h:45
Type is std::vector<double>
Definition: GyotoProperty.h:640
Type is Gyoto::SmartPointer<Gyoto::Astrobj::Generic>
Definition: GyotoProperty.h:648
Gyoto::SmartPointer< Gyoto::Screen >(Object::* get_screen_t)() const
Prototype for an accessor to get a Gyoto::SmartPointer<Gyoto::Screen>
Definition: GyotoProperty.h:729
std::string(Object::* get_string_t)() const
Prototype for an accessor to get a string.
Definition: GyotoProperty.h:699
std::vector< double >(Object::* get_vector_double_unit_t)(std::string const &) const
Prototype for an accessor to get a std::vector<double>, with unit.
Definition: GyotoProperty.h:711
Type is std::string.
Definition: GyotoProperty.h:628
void(Object::* set_fname_t)(std::string const &)
Prototype for an accessor to set a filename.
Definition: GyotoProperty.h:701
Object with properties.
Definition: GyotoObject.h:151
Type is Gyoto::SmartPointer<Gyoto::Screen::Generic>
Definition: GyotoProperty.h:646
getter_t getter
Pointer to the getter method.
Definition: GyotoProperty.h:813
Type is unsigned long (a.k.a. size_t)
Definition: GyotoProperty.h:622
Gyoto::SmartPointer< Gyoto::Spectrum::Generic >(Object::* get_spectrum_t)() const
Prototype for an accessor to get a Gyoto::SmartPointer<Gyoto::Spectrum::Generic>
Definition: GyotoProperty.h:743
Property is empty.
Definition: GyotoProperty.h:661
Type is size_t (only if distinct from unsigned long)
Definition: GyotoProperty.h:624
std::string(Object::* get_fname_t)() const
Prototype for an accessor to get a filename.
Definition: GyotoProperty.h:703
Property const *const parent
If type is empty_t, link to another Property list.
Definition: GyotoProperty.h:831
void(Object::* set_screen_t)(Gyoto::SmartPointer< Gyoto::Screen >)
Prototype for an accessor to set a Gyoto::SmartPointer<Gyoto::Screen>
Definition: GyotoProperty.h:726
void(Object::* set_string_t)(std::string const &)
Prototype for an accessor to set a string.
Definition: GyotoProperty.h:697