Go to the documentation of this file.
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, "")
@ unsigned_long_t
Type is unsigned long (a.k.a. size_t)
Definition: GyotoProperty.h:622
@ astrobj_t
Type is Gyoto::SmartPointer<Gyoto::Astrobj::Generic>
Definition: GyotoProperty.h:648
@ vector_unsigned_long_t
Type is std::vector<unsigned long>
Definition: GyotoProperty.h:642
Union holding an accessor to set any type.
Definition: GyotoProperty.h:756
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
@ string_t
Type is std::string.
Definition: GyotoProperty.h:628
Property(Property const *const ancestor)
Constructor for type==empty_t.
@ bool_t
Type is bool.
Definition: GyotoProperty.h:626
std::string name_false
Name if false.
Definition: GyotoProperty.h:668
getter_unit_t getter_unit
Pointer to the getter (with unit) method.
Definition: GyotoProperty.h:823
@ double_t
Type is double.
Definition: GyotoProperty.h:618
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
setter_unit_t setter_unit
Pointer to the setter (with unit) method.
Definition: GyotoProperty.h:818
#define size_t
If not defined in <sys/types.h>.
Definition: GyotoConfig.h:390
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
std::string(Object::* get_fname_t)() const
Prototype for an accessor to get a filename.
Definition: GyotoProperty.h:703
Object with properties.
Definition: GyotoObject.h:151
long(Object::* get_long_t)() const
Prototype for an accessor to get a long.
Definition: GyotoProperty.h:683
void(Object::* set_size_t_t)(size_t val)
Prototype for an accessor to set a size_t.
Definition: GyotoProperty.h:689
Union holding an accessor to get any type.
Definition: GyotoProperty.h:775
void(Object::* set_double_t)(double val)
Prototype for an accessor to set a double.
Definition: GyotoProperty.h:672
std::string(Object::* get_string_t)() const
Prototype for an accessor to get a string.
Definition: GyotoProperty.h:699
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
@ screen_t
Type is Gyoto::SmartPointer<Gyoto::Screen::Generic>
Definition: GyotoProperty.h:646
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
@ long_t
Type is long.
Definition: GyotoProperty.h:620
Gyoto::SmartPointer< Gyoto::Screen >(Object::* get_screen_t)() const
Prototype for an accessor to get a Gyoto::SmartPointer<Gyoto::Screen>
Definition: GyotoProperty.h:729
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_double_unit_t)(double val, std::string const &unit)
Prototype for an accessor to set a double, with unit.
Definition: GyotoProperty.h:676
@ empty_t
Property is empty.
Definition: GyotoProperty.h:661
Union holding an accessor to get double or vector<double> with unit.
Definition: GyotoProperty.h:799
type_e
Possible type of a Property instance.
Definition: GyotoProperty.h:616
int type
Type of this instance.
Definition: GyotoProperty.h:670
Union holding an accessor to set double or vector<double> with unit.
Definition: GyotoProperty.h:794
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
Namespace for the Gyoto library.
Definition: GyotoAstrobj.h:43
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< 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
void(Object::* set_string_t)(std::string const &)
Prototype for an accessor to set a string.
Definition: GyotoProperty.h:697
void(Object::* set_unsigned_long_t)(unsigned long val)
Prototype for an accessor to set an unsigned long.
Definition: GyotoProperty.h:685
size_t(Object::* get_size_t_t)() const
Prototype for an accessor to get a size_t.
Definition: GyotoProperty.h:691
Pointers performing reference counting.
Definition: GyotoProperty.h:45
void(Object::* set_bool_t)(bool val)
Prototype for an accessor to set a bool.
Definition: GyotoProperty.h:693
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
setter_t setter
Pointer to the setter method.
Definition: GyotoProperty.h:808
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
@ spectrometer_t
Type is Gyoto::SmartPointer<Gyoto::Spectrometer::Generic>
Definition: GyotoProperty.h:652
Property that can be set and got using standard methods.
Definition: GyotoProperty.h:607
double(Object::* get_double_t)() const
Prototype for an accessor to get a double.
Definition: GyotoProperty.h:674
const Property *const parent
If type is empty_t, link to another Property list.
Definition: GyotoProperty.h:831
@ filename_t
Type is std::string and holds a file name.
Definition: GyotoProperty.h:638
bool(Object::* get_bool_t)() const
Prototype for an accessor to get a bool.
Definition: GyotoProperty.h:695
@ spectrum_t
Type is Gyoto::SmartPointer<Gyoto::Spectrum::Generic>
Definition: GyotoProperty.h:650
@ vector_double_t
Type is std::vector<double>
Definition: GyotoProperty.h:640
unsigned long(Object::* get_unsigned_long_t)() const
Prototype for an accessor to get an unsigned long.
Definition: GyotoProperty.h:687
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_astrobj_t)(Gyoto::SmartPointer< Gyoto::Astrobj::Generic >)
Prototype for an accessor to set a Gyoto::SmartPointer<Gyoto::Astrobj::Generic>
Definition: GyotoProperty.h:733
void(Object::* set_fname_t)(std::string const &)
Prototype for an accessor to set a filename.
Definition: GyotoProperty.h:701
getter_t getter
Pointer to the getter method.
Definition: GyotoProperty.h:813
void(Object::* set_long_t)(long val)
Prototype for an accessor to set a long.
Definition: GyotoProperty.h:681
@ size_t_t
Type is size_t (only if distinct from unsigned long)
Definition: GyotoProperty.h:624
@ metric_t
Type is Gyoto::SmartPointer<Gyoto::Metric::Generic>
Definition: GyotoProperty.h:644
std::string name
Name of this instance.
Definition: GyotoProperty.h:663
void(Object::* set_vector_double_t)(std::vector< double > const &)
Prototype for an accessor to set a std::vector<double>
Definition: GyotoProperty.h:705
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
Compile-time configuration.
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