/
usr
/
share
/
swig
/
3.0.12
/
octave
/
/usr/share/swig/3.0.12/octave
mkdir
upload
Name
Size
Mode
Actions
attribute.i
34
0644
edit
dl
rm
boost_shared_ptr.i
15898
0644
edit
dl
rm
carrays.i
129
0644
edit
dl
rm
cdata.i
30
0644
edit
dl
rm
cmalloc.i
32
0644
edit
dl
rm
director.swg
3036
0644
edit
dl
rm
exception.i
427
0644
edit
dl
rm
factory.i
32
0644
edit
dl
rm
implicit.i
287
0644
edit
dl
rm
octave.swg
222
0644
edit
dl
rm
octcomplex.swg
2368
0644
edit
dl
rm
octcontainer.swg
16311
0644
edit
dl
rm
octfragments.swg
1
0644
edit
dl
rm
octiterators.swg
9120
0644
edit
dl
rm
octopers.swg
2625
0644
edit
dl
rm
octprimtypes.swg
5787
0644
edit
dl
rm
octrun.swg
45160
0644
edit
dl
rm
octruntime.swg
15662
0644
edit
dl
rm
octstdcommon.swg
6260
0644
edit
dl
rm
octtypemaps.swg
2458
0644
edit
dl
rm
octuserdir.swg
1814
0644
edit
dl
rm
std_alloc.i
27
0644
edit
dl
rm
std_basic_string.i
2317
0644
edit
dl
rm
std_char_traits.i
33
0644
edit
dl
rm
std_common.i
2328
0644
edit
dl
rm
std_complex.i
470
0644
edit
dl
rm
std_container.i
59
0644
edit
dl
rm
std_deque.i
679
0644
edit
dl
rm
std_except.i
35
0644
edit
dl
rm
std_list.i
677
0644
edit
dl
rm
std_map.i
4720
0644
edit
dl
rm
std_pair.i
3330
0644
edit
dl
rm
std_shared_ptr.i
68
0644
edit
dl
rm
std_string.i
35
0644
edit
dl
rm
std_vector.i
700
0644
edit
dl
rm
std_wstring.i
35
0644
edit
dl
rm
stl.i
181
0644
edit
dl
rm
typemaps.i
33
0644
edit
dl
rm
Edit:
/usr/share/swig/3.0.12/octave/octstdcommon.swg
(6260B)
%fragment("StdTraits","header",fragment="StdTraitsCommon") { namespace swig { // Traits that provides the from method template <class Type> struct traits_from_ptr { static octave_value from(Type *val, int owner = 0) { return SWIG_NewPointerObj(val, type_info<Type>(), owner); } }; template <class Type> struct traits_from { static octave_value from(const Type& val) { return traits_from_ptr<Type>::from(new Type(val), 1); } }; template <class Type> struct traits_from<Type *> { static octave_value from(Type* val) { return traits_from_ptr<Type>::from(val, 0); } }; template <class Type> struct traits_from<const Type *> { static octave_value from(const Type* val) { return traits_from_ptr<Type>::from(const_cast<Type*>(val), 0); } }; template <class Type> inline octave_value from(const Type& val) { return traits_from<Type>::from(val); } template <class Type> inline octave_value from_ptr(Type* val, int owner) { return traits_from_ptr<Type>::from(val, owner); } // Traits that provides the asval/as/check method template <class Type> struct traits_asptr { static int asptr(const octave_value& obj, Type **val) { Type *p; swig_type_info *descriptor = type_info<Type>(); int res = descriptor ? SWIG_ConvertPtr(obj, (void **)&p, descriptor, 0) : SWIG_ERROR; if (SWIG_IsOK(res)) { if (val) *val = p; } return res; } }; template <class Type> inline int asptr(const octave_value& obj, Type **vptr) { return traits_asptr<Type>::asptr(obj, vptr); } template <class Type> struct traits_asval { static int asval(const octave_value& obj, Type *val) { if (val) { Type *p = 0; int res = traits_asptr<Type>::asptr(obj, &p); if (!SWIG_IsOK(res)) return res; if (p) { typedef typename noconst_traits<Type>::noconst_type noconst_type; *(const_cast<noconst_type*>(val)) = *p; if (SWIG_IsNewObj(res)){ %delete(p); res = SWIG_DelNewMask(res); } return res; } else { return SWIG_ERROR; } } else { return traits_asptr<Type>::asptr(obj, (Type **)(0)); } } }; template <class Type> struct traits_asval<Type*> { static int asval(const octave_value& obj, Type **val) { if (val) { typedef typename noconst_traits<Type>::noconst_type noconst_type; noconst_type *p = 0; int res = traits_asptr<noconst_type>::asptr(obj, &p); if (SWIG_IsOK(res)) { *(const_cast<noconst_type**>(val)) = p; } return res; } else { return traits_asptr<Type>::asptr(obj, (Type **)(0)); } } }; template <class Type> inline int asval(const octave_value& obj, Type *val) { return traits_asval<Type>::asval(obj, val); } template <class Type> struct traits_as<Type, value_category> { static Type as(const octave_value& obj, bool throw_error) { Type v; int res = asval(obj, &v); if (!obj.is_defined() || !SWIG_IsOK(res)) { if (!Octave_Error_Occurred()) { %type_error(swig::type_name<Type>()); } if (throw_error) throw std::invalid_argument("bad type"); } return v; } }; template <class Type> struct traits_as<Type, pointer_category> { static Type as(const octave_value& obj, bool throw_error) { Type *v = 0; int res = traits_asptr<Type>::asptr(obj, &v); if (SWIG_IsOK(res) && v) { if (SWIG_IsNewObj(res)) { Type r(*v); %delete(v); return r; } else { return *v; } } else { // Uninitialized return value, no Type() constructor required. static Type *v_def = (Type*) malloc(sizeof(Type)); if (!Octave_Error_Occurred()) { %type_error(swig::type_name<Type>()); } if (throw_error) throw std::invalid_argument("bad type"); memset(v_def,0,sizeof(Type)); return *v_def; } } }; template <class Type> struct traits_as<Type*, pointer_category> { static Type* as(const octave_value& obj, bool throw_error) { Type *v = 0; int res = traits_asptr<Type>::asptr(obj, &v); if (SWIG_IsOK(res)) { return v; } else { if (!Octave_Error_Occurred()) { %type_error(swig::type_name<Type>()); } if (throw_error) throw std::invalid_argument("bad type"); return 0; } } }; template <class Type> inline Type as(const octave_value& obj, bool te = false) { return traits_as<Type, typename traits<Type>::category>::as(obj, te); } template <class Type> struct traits_check<Type, value_category> { static bool check(const octave_value& obj) { int res = asval(obj, (Type *)(0)); return SWIG_IsOK(res) ? true : false; } }; template <class Type> struct traits_check<Type, pointer_category> { static bool check(const octave_value& obj) { int res = asptr(obj, (Type **)(0)); return SWIG_IsOK(res) ? true : false; } }; template <class Type> inline bool check(const octave_value& obj) { return traits_check<Type, typename traits<Type>::category>::check(obj); } } } %define %specialize_std_container(Type,Check,As,From) %{ namespace swig { template <> struct traits_asval<Type > { typedef Type value_type; static int asval(const octave_value& obj, value_type *val) { if (Check(obj)) { if (val) *val = As(obj); return SWIG_OK; } return SWIG_ERROR; } }; template <> struct traits_from<Type > { typedef Type value_type; static octave_value from(const value_type& val) { return From(val); } }; template <> struct traits_check<Type, value_category> { static int check(const octave_value& obj) { int res = Check(obj); return obj && res ? res : 0; } }; } %} %enddef #define specialize_std_vector(Type,Check,As,From) %specialize_std_container(%arg(Type),Check,As,From) #define specialize_std_list(Type,Check,As,From) %specialize_std_container(%arg(Type),Check,As,From) #define specialize_std_deque(Type,Check,As,From) %specialize_std_container(%arg(Type),Check,As,From) #define specialize_std_set(Type,Check,As,From) %specialize_std_container(%arg(Type),Check,As,From) #define specialize_std_multiset(Type,Check,As,From) %specialize_std_container(%arg(Type),Check,As,From)
Save
cmd:
run