From: William F. <wsf...@us...> - 2005-12-26 23:26:03
|
Update of /cvsroot/swig/SWIG/Examples/test-suite In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30303/Examples/test-suite Modified Files: li_std_vector.i Log Message: Add in vectors of pointers Index: li_std_vector.i =================================================================== RCS file: /cvsroot/swig/SWIG/Examples/test-suite/li_std_vector.i,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** li_std_vector.i 1 Nov 2004 22:57:56 -0000 1.2 --- li_std_vector.i 26 Dec 2005 23:25:54 -0000 1.3 *************** *** 19,25 **** --- 19,29 ---- %} + /* namespace std { %template(RealVector) vector<Real>; } + */ + // change back to above + %template(RealVector) std::vector<Real>; %inline %{ *************** *** 47,58 **** // bool operator==(const Struct &other) { return (num == other.num); } }; %} ! #ifndef SWIGCSHARP ! // Can't do vectors of pointers yet ! %template(IntPtrVector) std::vector<int *>; #endif %template(StructVector) std::vector<Struct>; ! --- 51,77 ---- // bool operator==(const Struct &other) { return (num == other.num); } }; + + const std::vector<Real> & vecreal(const std::vector<Real> & vec) { return vec; } + + const std::vector<int> & vecintptr(const std::vector<int> & vec) { return vec; } + const std::vector<int *> & vecintptr(const std::vector<int *> & vec) { return vec; } + const std::vector<const int *> & vecintconstptr(const std::vector<const int *> & vec) { return vec; } + + const std::vector<Struct> & vecstruct(const std::vector<Struct> & vec) { return vec; } + const std::vector<Struct *> & vecstructptr(const std::vector<Struct *> & vec) { return vec; } + const std::vector<const Struct *> & vecstructconstptr(const std::vector<const Struct *> & vec) { return vec; } %} ! #if defined(SWIGCSHARP) ! SWIG_STD_VECTOR_SPECIALIZE(Struct, Struct *) ! SWIG_STD_VECTOR_SPECIALIZE(Struct, const Struct *) ! SWIG_STD_VECTOR_SPECIALIZE(SWIGTYPE_p_int, int *) ! SWIG_STD_VECTOR_SPECIALIZE(SWIGTYPE_p_int, const int *) #endif + %template(IntPtrVector) std::vector<int *>; + %template(IntConstPtrVector) std::vector<const int *>; %template(StructVector) std::vector<Struct>; ! %template(StructPtrVector) std::vector<Struct *>; ! %template(StructConstPtrVector) std::vector<const Struct *>; |