Linux server2.hpierson.com 3.10.0-1160.105.1.el7.x86_64 #1 SMP Thu Dec 7 15:39:45 UTC 2023 x86_64
Apache
: 162.0.216.123 | : 216.73.216.152
28 Domain
?7.4.33
yvffpqmy
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
README
+ Create Folder
+ Create File
/
usr /
share /
swig /
2.0.10 /
typemaps /
[ HOME SHELL ]
Name
Size
Permission
Action
attribute.swg
9.37
KB
-rw-r--r--
carrays.swg
2.62
KB
-rw-r--r--
cdata.swg
1.83
KB
-rw-r--r--
cmalloc.swg
2.38
KB
-rw-r--r--
cpointer.swg
3.18
KB
-rw-r--r--
cstring.swg
167
B
-rw-r--r--
cstrings.swg
8.03
KB
-rw-r--r--
cwstring.swg
207
B
-rw-r--r--
enumint.swg
906
B
-rw-r--r--
exception.swg
2.65
KB
-rw-r--r--
factory.swg
2.38
KB
-rw-r--r--
fragments.swg
6.65
KB
-rw-r--r--
implicit.swg
4.71
KB
-rw-r--r--
inoutlist.swg
9.26
KB
-rw-r--r--
misctypes.swg
467
B
-rw-r--r--
primtypes.swg
8.38
KB
-rw-r--r--
ptrtypes.swg
6.44
KB
-rw-r--r--
std_except.swg
1.16
KB
-rw-r--r--
std_string.swg
350
B
-rw-r--r--
std_strings.swg
1.93
KB
-rw-r--r--
std_wstring.swg
395
B
-rw-r--r--
string.swg
547
B
-rw-r--r--
strings.swg
18.11
KB
-rw-r--r--
swigmacros.swg
7.94
KB
-rw-r--r--
swigobject.swg
894
B
-rw-r--r--
swigtype.swg
18.78
KB
-rw-r--r--
swigtypemaps.swg
4.87
KB
-rw-r--r--
traits.swg
7.37
KB
-rw-r--r--
typemaps.swg
4.46
KB
-rw-r--r--
valtypes.swg
6.97
KB
-rw-r--r--
void.swg
2.02
KB
-rw-r--r--
wstring.swg
567
B
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : implicit.swg
/* The %implicit macro allows a SwigType (Class) to be accepted as an input parameter and use its implicit constructors when needed. For example: %implicit(A, int, double, B); %inline { struct B { }; struct A { int ii; A(int i) { ii = 1; } A(double d) { ii = 2; } A(const B& b) { ii = 3; } }; int get(A a) { return a.ii; } } Here, you can call 'get' as get(1) ==> get(A(1)) get(2.0) ==> get(A(2.0)) get(B()) ==> get(A(B())) and swig will construct an 'A' temporal variable using the corresponding implicit constructor. The plain implicit macro takes care of simple type list. If it doesn't work because you are passing template types with commas, then use the %implicit_{1,2,3} versions and/or the %arg macro. */ %define %implicit_type(Type...) %traits_swigtype(Type); %enddef %define %implicit_frag(Type...) ,fragment=SWIG_Traits_frag(Type) %enddef %define %implicit_code(Type...) { Type _v; int res = swig::asval<Type >(obj, &_v); if (SWIG_IsOK(res)) { if (val) *val = new value_type(static_cast<const Type& >(_v)); return SWIG_AddNewMask(res); } } %enddef /* implicit */ %define %implicit(Type, ...) %formacro_1(%implicit_type,__VA_ARGS__); %fragment(SWIG_Traits_frag(Type),"header", fragment="StdTraits" %formacro_1(%implicit_frag,__VA_ARGS__)) %{ namespace swig { template <> struct traits<Type > { typedef pointer_category category; static const char* type_name() { return "Type"; } }; template <> struct traits_asptr< Type > { typedef Type value_type; static int asptr(SWIG_Object obj, value_type **val) { Type *vptr; static swig_type_info* desc = SWIG_TypeQuery("Type *"); int res = SWIG_ConvertPtr(obj, (void **)&vptr, desc, 0); if (SWIG_IsOK(res)) { if (val) *val = vptr; return res; } else { %formacro_1(%implicit_code,__VA_ARGS__) } return SWIG_TypeError; } }; } %} %typemap_traits_ptr(%checkcode(POINTER),Type); %enddef /* implicit_1 */ %define %implicit_1(Type, Imp1) %traits_swigtype(Imp1); %fragment(SWIG_Traits_frag(Type),"header", fragment="StdTraits", fragment=SWIG_Traits_frag(Imp1)) %{ namespace swig { template <> struct traits< Type > { typedef pointer_category category; static const char* type_name() { return "Type"; } }; template <> struct traits_asptr< Type > { typedef Type value_type; static int asptr(SWIG_Object obj, value_type **val) { Type *vptr; static swig_type_info* desc = SWIG_TypeQuery("Type *"); int res = SWIG_ConvertPtr(obj, (void **)&vptr, desc, 0); if (SWIG_IsOK(res)) { if (val) *val = vptr; return res; } else { %implicit_code(Imp1); } return SWIG_TypeError; } }; } %} %typemap_traits_ptr(%checkcode(POINTER),Type); %enddef /* implicit_2 */ %define %implicit_2(Type, Imp1, Imp2) %traits_swigtype(Imp1); %traits_swigtype(Imp2); %fragment(SWIG_Traits_frag(Type),"header", fragment="StdTraits", fragment=SWIG_Traits_frag(Imp1), fragment=SWIG_Traits_frag(Imp2)) %{ namespace swig { template <> struct traits< Type > { typedef pointer_category category; static const char* type_name() { return "Type"; } }; template <> struct traits_asptr< Type > { typedef Type value_type; static int asptr(SWIG_Object obj, value_type **val) { Type *vptr; static swig_type_info* desc = SWIG_TypeQuery("Type *"); int res = SWIG_ConvertPtr(obj, (void **)&vptr, desc, 0); if (SWIG_IsOK(res)) { if (val) *val = vptr; return SWIG_OLDOBJ; } else { %implicit_code(Imp1); %implicit_code(Imp2); } return SWIG_TypeError; } }; } %} %typemap_traits_ptr(%checkcode(POINTER),Type); %enddef /* implicit_3 */ %define %implicit_3(Type, Imp1, Imp2, Imp3) %traits_swigtype(Imp1); %traits_swigtype(Imp2); %traits_swigtype(Imp3); %fragment(SWIG_Traits_frag(Type),"header", fragment="StdTraits", fragment=SWIG_Traits_frag(Imp1), fragment=SWIG_Traits_frag(Imp2), fragment=SWIG_Traits_frag(Imp3)) %{ namespace swig { template <> struct traits< Type > { typedef pointer_category category; static const char* type_name() { return "Type"; } }; template <> struct traits_asptr< Type > { typedef Type value_type; static int asptr(SWIG_Object obj, value_type **val) { Type *vptr; static swig_type_info* desc = SWIG_TypeQuery("Type *"); int res = SWIG_ConvertPtr(obj, (void **)&vptr, desc, 0); if (SWIG_IsOK(res)) { if (val) *val = vptr; return res; } else { %implicit_code(Imp1); %implicit_code(Imp2); %implicit_code(Imp3); } return SWIG_TypeError; } }; } %} %typemap_traits_ptr(%checkcode(POINTER),Type); %enddef
Close