/trunk/Examples/contract/simple_cxx/example.i

# · Swig · 28 lines · 22 code · 5 blank · 1 comment · 0 complexity · 65b24802aa5a4e58f3e92edeb0f42826 MD5 · raw file

  1. %module example
  2. %contract Circle::Circle(double radius) {
  3. require:
  4. radius > 0;
  5. }
  6. %contract Circle::area(void) {
  7. ensure:
  8. area > 0;
  9. }
  10. %contract Shape::move(double dx, double dy) {
  11. require:
  12. dx > 0;
  13. }
  14. /* should be no effect, since there is no move() for class Circle */
  15. %contract Circle::move(double dx, double dy) {
  16. require:
  17. dy > 1;
  18. }
  19. # include must be after contracts
  20. %{
  21. #include "example.h"
  22. %}
  23. %include "example.h"