/trunk/Examples/test-suite/using_namespace.i
Swig | 88 lines | 65 code | 23 blank | 0 comment | 0 complexity | b0e40040a5ef60b58a8cdca43153beeb MD5 | raw file
Possible License(s): LGPL-2.1, Cube, GPL-3.0, 0BSD, GPL-2.0
- %module(ruby_minherit="1") using_namespace
- %warnfilter(SWIGWARN_RUBY_WRONG_NAME) hi::hi0; /* Ruby, wrong class name */
- %warnfilter(SWIGWARN_RUBY_WRONG_NAME) hi::hi1; /* Ruby, wrong class name */
- %warnfilter(SWIGWARN_JAVA_MULTIPLE_INHERITANCE,
- SWIGWARN_CSHARP_MULTIPLE_INHERITANCE,
- SWIGWARN_D_MULTIPLE_INHERITANCE,
- SWIGWARN_PHP_MULTIPLE_INHERITANCE) Hi<hello::Hello, hi::hi0>; // C#, D, Java, PHP multiple inheritance
- %inline %{
- namespace hello
- {
- struct Hello
- {
- };
- template <class _T1, class _T2>
- struct Hi : _T1, _T2
- {
- int value1() const
- {
- return 1;
- }
- int value2() const
- {
- return 2;
- }
- };
- }
- namespace hi
- {
- struct hi0
- {
- };
-
- }
- %}
- namespace hello
- {
- %template(Hi_hi0) Hi<hello::Hello, hi::hi0>;
- }
- %inline %{
- namespace hi
- {
- struct hi1 : private hello::Hi< hello::Hello, hi0 >
- {
- using hello::Hi< hello::Hello, hi::hi0 >::value1;
- using hello::Hi< hello::Hello, hi0 >::value2;
- };
-
- }
-
- %}
- %inline {
- namespace foo {
- typedef double mytype;
- }
- // global namespace
- typedef float mytype;
- using namespace foo;
- struct X {
- ::mytype d;
- };
- }
- %inline %{
- namespace SpaceMan {
- typedef double SpaceManDouble;
- }
- using namespace ::SpaceMan; // global namespace prefix
- SpaceManDouble useSpaceMan(SpaceManDouble s) { return s; }
- %}