%module cpp11_shared_ptr_nullptr_in_containers %{ #include #include class C; %} %include %include %shared_ptr(C) %inline %{ class C { int m; public: C() : m(-1) {} C(int i) : m(i) {} int get_m() { return m; } }; %} %template() std::vector >; %inline %{ std::vector > ret_vec_c_shared_ptr() { std::vector > ret(3); ret[0] = std::shared_ptr(new C(0)); ret[2] = std::shared_ptr(new C(2)); return ret; } std::vector > ret_arg_vec(const std::vector >& v) { return v; } bool is_last_null(const std::vector >& v) { if( v.back() ) { return false; } else { return true; } } %}