/
niceSOFT
/
swig
Обзор
Документация
Войти
/
niceSOFT
/
swig
Код
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
Examples/test-suite/cpp11_shared_ptr_nullptr_in_containers.i
56 строк
1 KB
William S Fulton
shared_ptr tests cleanup
26 мар 2026, 11:37
26 мар 2026, 11:37
4433e44
Код
Авторство
О чём код?
%module cpp11_shared_ptr_nullptr_in_containers %{ #include <memory> #include <vector> class C; %} #if defined(SWIGC) || defined(SWIGJAVA) || defined(SWIGCSHARP) || defined(SWIGPYTHON) || defined(SWIGD) || defined(SWIGOCTAVE) || defined(SWIGRUBY) || defined(SWIGR) || defined(SWIGLUA) #define SHARED_PTR_WRAPPERS_IMPLEMENTED #endif #if defined(SHARED_PTR_WRAPPERS_IMPLEMENTED) %include <std_shared_ptr.i> %shared_ptr(C) #endif %include <std_vector.i> %inline %{ class C { int m; public: C() : m(-1) {} C(int i) : m(i) {} int get_m() { return m; } }; %} %template() std::vector<std::shared_ptr<C> >; %inline %{ std::vector<std::shared_ptr<C> > ret_vec_c_shared_ptr() { std::vector<std::shared_ptr<C> > ret(3); ret[0] = std::shared_ptr<C>(new C(0)); ret[2] = std::shared_ptr<C>(new C(2)); return ret; } std::vector<std::shared_ptr<C> > ret_arg_vec(const std::vector<std::shared_ptr<C> >& v) { return v; } bool is_last_null(const std::vector<std::shared_ptr<C> >& v) { if( v.back() ) { return false; } else { return true; } } %}