Merge branch 'leg0-bug_307'

* leg0-bug_307:
  C++11 strongly typed enum fixes for directors
  Fix #307.
This commit is contained in:
William S Fulton 2015-01-15 19:48:38 +00:00
commit 4d5333cb88
6 changed files with 22 additions and 7 deletions

View file

@ -516,6 +516,7 @@ CPP11_TEST_CASES = \
cpp11_decltype \
cpp11_default_delete \
cpp11_delegating_constructors \
cpp11_director_enums \
cpp11_explicit_conversion_operators \
cpp11_final_override \
cpp11_function_objects \

View file

@ -0,0 +1,14 @@
%module(directors="1") cpp11_director_enums
%warnfilter(SWIGWARN_TYPEMAP_THREAD_UNSAFE,SWIGWARN_TYPEMAP_DIRECTOROUT_PTR) Cpp11DirectorEnumsCallback::g;
%director Cpp11DirectorEnumsCallback;
%inline %{
enum class Color { Red, Green, Blue=10 };
struct Cpp11DirectorEnumsCallback {
virtual Color f(Color c) = 0;
virtual const Color & g(const Color &c) = 0;
virtual ~Cpp11DirectorEnumsCallback() {}
};
%}