update swig on windows
This commit is contained in:
103
winx64/bin/swigwin-4.0.0/Examples/test-suite/extend_variable.i
Normal file
103
winx64/bin/swigwin-4.0.0/Examples/test-suite/extend_variable.i
Normal file
@@ -0,0 +1,103 @@
|
||||
%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
|
||||
{
|
||||
};
|
||||
%}
|
||||
|
||||
#if SWIGJAVA
|
||||
%javaconst(1) AllBarOne;
|
||||
#elif SWIGCSHARP
|
||||
%csconst(1) AllBarOne;
|
||||
#endif
|
||||
|
||||
|
||||
class Foo {
|
||||
public:
|
||||
%extend {
|
||||
static const int Bar = 42;
|
||||
static const int AllBarOne = 4422;
|
||||
static const int StaticConstInt;
|
||||
static int StaticInt;
|
||||
}
|
||||
};
|
||||
|
||||
%{
|
||||
int globalVariable = 1111;
|
||||
|
||||
void Foo_StaticInt_set(int value) {
|
||||
globalVariable = value;
|
||||
}
|
||||
|
||||
int Foo_StaticInt_get() {
|
||||
return globalVariable;
|
||||
}
|
||||
|
||||
int Foo_StaticConstInt_get() {
|
||||
static int var = 2222;
|
||||
return var;
|
||||
}
|
||||
%}
|
||||
|
||||
%inline {
|
||||
namespace ns1
|
||||
{
|
||||
struct Bar
|
||||
{
|
||||
}
|
||||
;
|
||||
}
|
||||
}
|
||||
|
||||
%{
|
||||
int ns1_Bar_x_get(ns1::Bar *self) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
void ns1_Bar_x_set(ns1::Bar *self, int x) {
|
||||
}
|
||||
%}
|
||||
|
||||
%extend ns1::Bar
|
||||
{
|
||||
int x;
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user