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:
parent
3b3ea6e650
commit
f7babc08a2
10 changed files with 291 additions and 0 deletions
28
Examples/contract/simple_cxx/example.i
Normal file
28
Examples/contract/simple_cxx/example.i
Normal 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"
|
||||
Loading…
Add table
Add a link
Reference in a new issue