Contract simple examples

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5078 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
Tiger Feng 2003-09-05 19:07:01 +00:00
commit f7babc08a2
10 changed files with 291 additions and 0 deletions

View file

@ -0,0 +1,28 @@
%module example
%contract Circle::Circle(double radius) {
require:
radius > 0;
}
%contract Circle::area(void) {
ensure:
area > 0;
}
%contract Shape::move(double dx, double dy) {
require:
dx > 0;
}
/* should be no effect, since there is no move() for class Circle */
%contract Circle::move(double dx, double dy) {
require:
dy > 1;
}
# include must be after contracts
%{
#include "example.h"
%}
%include "example.h"