diff options
Diffstat (limited to 'Examples/test-suite/callback.i')
-rw-r--r-- | Examples/test-suite/callback.i | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/Examples/test-suite/callback.i b/Examples/test-suite/callback.i index 4db63353b..e406615bb 100644 --- a/Examples/test-suite/callback.i +++ b/Examples/test-suite/callback.i @@ -13,6 +13,7 @@ %callback("%s") A::foom; #endif %callback("%(uppercase)s_Cb_Ptr") foo_T; // this works in Python too +%callback("%s_cb") identity_finger; %inline %{ @@ -85,6 +86,15 @@ const T& ident(const T& x) { return x; } + + // Test callbacks for enum types + typedef enum {One, Two, Three, Four, Five} finger; + typedef finger (*finger_finger)(finger); + finger identity_finger(finger f) { return f; } + finger apply_finger_cb(finger f, finger_finger cb) { + return cb(f); + } + %} %template(foo_i) foo_T<int>; |