swig/Examples/test-suite/extend_variable.i
2005-10-18 14:04:14 +00:00

51 lines
711 B
OpenEdge ABL

%module extend_variable
// Tests %extend for variables
%inline %{
class ExtendMe {
double var;
public:
ExtendMe() : var(0.0) {}
bool get(double &d) {
d = var;
return true;
}
bool set(const double &d) {
var = d;
return true;
}
};
%}
%extend ExtendMe {
double ExtendVar;
};
%{
// If possible, all language modules should use this naming format for consistency
void ExtendMe_ExtendVar_set(ExtendMe *thisptr, double value) {
thisptr->set(value);
}
double ExtendMe_ExtendVar_get(ExtendMe *thisptr) {
double value = 0;
thisptr->get(value);
return value;
}
%}
%{
class Foo
{
};
%}
class Foo {
public:
%extend {
static const int Bar = 42;
}
};