PageRenderTime 40ms CodeModel.GetById 7ms RepoModel.GetById 0ms app.codeStats 0ms

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

#
Swig | 28 lines | 22 code | 5 blank | 1 comment | 0 complexity | 65b24802aa5a4e58f3e92edeb0f42826 MD5 | raw file
Possible License(s): LGPL-2.1, Cube, GPL-3.0, 0BSD, GPL-2.0
  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"