/
niceSOFT
/
swig
Обзор
Документация
Войти
/
niceSOFT
/
swig
Код
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
Examples/test-suite/cpp11_directors.i
47 строк
1 KB
William S Fulton
Fix various Go compilation problems when wrapping rvalues references
02 ноя 2025, 16:39
02 ноя 2025, 16:39
400caf5
Код
Авторство
О чём код?
%module(directors="1") cpp11_directors %feature("director"); %inline %{ class Foo { public: virtual ~Foo() noexcept {} virtual int ping() noexcept = 0; virtual int pong() noexcept = 0; virtual int pang() const& noexcept = 0; virtual int peng() & noexcept = 0; virtual int pung() & = 0; }; %} %inline %{ namespace BT { struct MoveOnlyNode { MoveOnlyNode(const MoveOnlyNode& other) = delete; MoveOnlyNode(MoveOnlyNode&& other) = default; MoveOnlyNode(int a, double d) {} MoveOnlyNode() = default; virtual ~MoveOnlyNode() = default; virtual void rvalues_int(int &&) {} virtual void rvalues_mo(MoveOnlyNode &&) {} virtual void rvalues_mo_overload(MoveOnlyNode &&) {} virtual void rvalues_mo_overload(int, double, MoveOnlyNode &&) {} using DoubleRVR = double&&; using MoveOnlyNodeRVR = MoveOnlyNode&&; virtual void rvalues_using(DoubleRVR, MoveOnlyNodeRVR p2) {} using DoubleRVR2 = DoubleRVR; using MoveOnlyNodeRVR2 = MoveOnlyNodeRVR; virtual void rvalues_using2(DoubleRVR2 p1, MoveOnlyNodeRVR2) {} }; struct MoveOnlyThing { using MOT = MoveOnlyThing&&; using MOT2 = MOT; MoveOnlyThing(const MoveOnlyThing& other) = delete; MoveOnlyThing(MOT2 other) = default; virtual ~MoveOnlyThing() = default; }; } %}