Gyoto
|
Introspectable properties. More...
Go to the source code of this file.
Classes | |
class | Gyoto::SmartPointer< T > |
Pointers performing reference counting. More... | |
class | Gyoto::Property |
Property that can be set and got using standard methods. More... | |
union | Gyoto::Property::setter_t |
Union holding an accessor to set any type. More... | |
union | Gyoto::Property::getter_t |
Union holding an accessor to get any type. More... | |
union | Gyoto::Property::setter_unit_t |
Union holding an accessor to set double or vector<double> with unit. More... | |
union | Gyoto::Property::getter_unit_t |
Union holding an accessor to get double or vector<double> with unit. More... | |
Namespaces | |
Gyoto | |
Namespace for the Gyoto library. | |
Gyoto::Metric | |
Access to metrics. | |
Gyoto::Astrobj | |
Access to astronomical objects. | |
Gyoto::Spectrum | |
Spectrum of a simple object (e.g. a Gyoto::Astrobj::Star) | |
Gyoto::Spectrometer | |
Access to spectrometers. | |
Macros | |
#define | GYOTO_PLUGIN |
#define | GYOTO_PROPERTY_THREAD_UNSAFE(class) bool class::isThreadSafe() const {return false;} |
Define the class as not beeing thread-safe. More... | |
#define | GYOTO_PROPERTY_ACCESSORS(class, type, member, method) |
Define a pair of accessors to scalar member (double, long, size_t) More... | |
#define | GYOTO_PROPERTY_ACCESSORS_SPECIAL(class, type, member, method, set, get) |
Define a pair of accessors to scalar member (double, long, size_t) More... | |
#define | GYOTO_PROPERTY_ACCESSORS_GEOMETRICAL(class, member, method, metric) |
Define 4 accessors to double scalar member in geometrical units. More... | |
#define | GYOTO_PROPERTY_ACCESSORS_GEOMETRICAL_SPECIAL(class, member, method, metric, set, get) |
GYOTO_PROPERTY_ACCESSORS_GEOMETRICAL + GYOTO_PROPERTY_ACCESSORS_SPECIAL. More... | |
#define | GYOTO_PROPERTY_ACCESSORS_UNIT(class, member, method, unit) |
Define 4 accessors to double scalar member in specified units. More... | |
#define | GYOTO_PROPERTY_START(...) |
Start Property list. More... | |
#define | GYOTO_PROPERTY_BOOL(...) |
Define a new Property of type bool. More... | |
#define | GYOTO_PROPERTY_DOUBLE(...) |
Define a Property of type double. More... | |
#define | GYOTO_PROPERTY_DOUBLE_UNIT(...) |
Define a Property of type double with unit. More... | |
#define | GYOTO_PROPERTY_VECTOR_DOUBLE(...) |
Define a Property of type vector<double> More... | |
#define | GYOTO_PROPERTY_VECTOR_DOUBLE_UNIT(...) |
Define a Property of type vector<double> with unit. More... | |
#define | GYOTO_PROPERTY_STRING(...) |
Define a Property of type String. More... | |
#define | GYOTO_PROPERTY_FILENAME(...) |
Define a Property of type Filename. More... | |
#define | GYOTO_PROPERTY_LONG(...) |
Define a Property of type long. More... | |
#define | GYOTO_PROPERTY_UNSIGNED_LONG(...) |
Define a Property of type unsigned long. More... | |
#define | GYOTO_PROPERTY_VECTOR_UNSIGNED_LONG(...) |
Define a Property of type vector<unsigned long> More... | |
#define | GYOTO_PROPERTY_SIZE_T(...) |
Define a Property of type size_t. More... | |
#define | GYOTO_PROPERTY_METRIC(...) |
Define a Property of type Gyoto::Metric::Generic. More... | |
#define | GYOTO_PROPERTY_SPECTRUM(...) |
Define a Property of type Gyoto::Spectrum::Generic. More... | |
#define | GYOTO_PROPERTY_ASTROBJ(...) |
Define a Property of type Gyoto::Astrobj::Generic. More... | |
#define | GYOTO_PROPERTY_SCREEN(...) |
Define a Property of type Gyoto::Screen. More... | |
#define | GYOTO_PROPERTY_SPECTROMETER(...) |
Define a Property of type Gyoto::Spectrometer::Generic. More... | |
#define | GYOTO_PROPERTY_END(class, next) |
Define class::properties and class::getProperties() More... | |
Introspectable properties.
#define GYOTO_PROPERTY_ACCESSORS | ( | class, | |
type, | |||
member, | |||
method | |||
) |
Define a pair of accessors to scalar member (double, long, size_t)
Accessors must also be declared in the class declaration, which can be done using #GYOTO_OBJECT_SCALAR_ACCESSORS.
#define GYOTO_PROPERTY_ACCESSORS_GEOMETRICAL | ( | class, | |
member, | |||
method, | |||
metric | |||
) |
Define 4 accessors to double scalar member in geometrical units.
Accessors must also be declared in the class declaration, which can be done using GYOTO_OBJECT_ACCESSORS_UNIT.
class | class name |
member | member holding the value in geometrical unit |
method | name for accessors member or expression yielding metric (which defines the geometrical unit) |
#define GYOTO_PROPERTY_ACCESSORS_GEOMETRICAL_SPECIAL | ( | class, | |
member, | |||
method, | |||
metric, | |||
set, | |||
get | |||
) |
GYOTO_PROPERTY_ACCESSORS_GEOMETRICAL + GYOTO_PROPERTY_ACCESSORS_SPECIAL.
Accessors must also be declared in the class declaration, which can be done using GYOTO_OBJECT_ACCESSORS_UNIT.
class | class name |
member | member holding the value in geometrical unit |
method | name for accessors member or expression yielding metric (which defines the geometrical unit) |
#define GYOTO_PROPERTY_ACCESSORS_SPECIAL | ( | class, | |
type, | |||
member, | |||
method, | |||
set, | |||
get | |||
) |
Define a pair of accessors to scalar member (double, long, size_t)
Accessors must also be declared in the class declaration, which can be done using #GYOTO_OBJECT_SCALAR_ACCESSORS.
This version allows performing sepcial actions in the accessors, in addition to the usual stuff.
#define GYOTO_PROPERTY_ACCESSORS_UNIT | ( | class, | |
member, | |||
method, | |||
unit | |||
) |
Define 4 accessors to double scalar member in specified units.
Accessors must also be declared in the class declaration, which can be done using GYOTO_OBJECT_ACCESSORS_UNIT.
class | class name |
member | member holding the value in specified unit |
method | name for accessors unit |
#define GYOTO_PROPERTY_ASTROBJ | ( | ... | ) |
Define a Property of type Gyoto::Astrobj::Generic.
#define GYOTO_PROPERTY_BOOL | ( | ... | ) |
Define a new Property of type bool.
#define GYOTO_PROPERTY_DOUBLE | ( | ... | ) |
Define a Property of type double.
#define GYOTO_PROPERTY_DOUBLE_UNIT | ( | ... | ) |
Define a Property of type double with unit.
#define GYOTO_PROPERTY_END | ( | class, | |
next | |||
) |
Define class::properties and class::getProperties()
#define GYOTO_PROPERTY_FILENAME | ( | ... | ) |
Define a Property of type Filename.
#define GYOTO_PROPERTY_LONG | ( | ... | ) |
Define a Property of type long.
#define GYOTO_PROPERTY_METRIC | ( | ... | ) |
Define a Property of type Gyoto::Metric::Generic.
#define GYOTO_PROPERTY_SCREEN | ( | ... | ) |
Define a Property of type Gyoto::Screen.
#define GYOTO_PROPERTY_SIZE_T | ( | ... | ) |
Define a Property of type size_t.
#define GYOTO_PROPERTY_SPECTROMETER | ( | ... | ) |
Define a Property of type Gyoto::Spectrometer::Generic.
#define GYOTO_PROPERTY_SPECTRUM | ( | ... | ) |
Define a Property of type Gyoto::Spectrum::Generic.
#define GYOTO_PROPERTY_START | ( | ... | ) |
Start Property list.
class | Class for which we are defining a Property list |
doc | Documentation for this class. Optional but recommended. |
#define GYOTO_PROPERTY_STRING | ( | ... | ) |
Define a Property of type String.
#define GYOTO_PROPERTY_THREAD_UNSAFE | ( | class | ) | bool class::isThreadSafe() const {return false;} |
Define the class as not beeing thread-safe.
See also GYOTO_OBJECT_THREAD_SAFETY
#define GYOTO_PROPERTY_UNSIGNED_LONG | ( | ... | ) |
Define a Property of type unsigned long.
#define GYOTO_PROPERTY_VECTOR_DOUBLE | ( | ... | ) |
Define a Property of type vector<double>
#define GYOTO_PROPERTY_VECTOR_DOUBLE_UNIT | ( | ... | ) |
Define a Property of type vector<double> with unit.
#define GYOTO_PROPERTY_VECTOR_UNSIGNED_LONG | ( | ... | ) |
Define a Property of type vector<unsigned long>