%module cpp11_shared_ptr_const %{ #include <memory> #include <vector> class Foo { int m; public: Foo(int i) : m(i) {} int get_m() { return m;} }; std::shared_ptr<Foo> foo(Foo v) { return std::shared_ptr<Foo>(new Foo(v)); } std::shared_ptr<const Foo> const_foo(Foo v) { return std::shared_ptr<const Foo>(new Foo(v)); } std::vector<std::shared_ptr<Foo> > foo_vec(Foo v) { std::vector<std::shared_ptr<Foo> > result; result.push_back( std::shared_ptr<Foo>(new Foo(v)) ); return result; } std::vector<std::shared_ptr<const Foo> > const_foo_vec(Foo v) { std::vector<std::shared_ptr<const Foo> > result; result.push_back( std::shared_ptr<Foo>(new Foo(v)) ); return result; } %} %include <std_shared_ptr.i> %include <std_vector.i> %shared_ptr(Foo); %template (FooVector) std::vector<std::shared_ptr<Foo> >; %template (FooConstVector) std::vector<std::shared_ptr<Foo const> >; class Foo { int m; public: Foo(int i); int get_m(); }; std::shared_ptr<Foo> foo(Foo v); std::shared_ptr<const Foo> const_foo(Foo v); std::vector<std::shared_ptr<Foo> > foo_vec(Foo v) const; std::vector<std::shared_ptr<const Foo> > const_foo_vec(Foo v) const;
Generated by dwww version 1.15 on Tue Jul 2 00:15:41 CEST 2024.