git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@6673 626c5289-ae23-0410-ae9c-e8d60b6d4f22
41 lines
697 B
OpenEdge ABL
41 lines
697 B
OpenEdge ABL
%module template_opaque
|
|
%include "std_vector.i"
|
|
|
|
%{
|
|
namespace A
|
|
{
|
|
struct OpaqueStruct
|
|
{
|
|
};
|
|
}
|
|
|
|
enum Hello { hi, hello };
|
|
|
|
%}
|
|
|
|
|
|
%inline {
|
|
namespace A {
|
|
struct OpaqueStruct;
|
|
typedef struct OpaqueStruct OpaqueType;
|
|
typedef enum Hello Hi;
|
|
typedef std::vector<OpaqueType> OpaqueVectorType;
|
|
typedef std::vector<Hi> OpaqueVectorEnum;
|
|
|
|
void FillVector(OpaqueVectorType& v)
|
|
{
|
|
for (size_t i = 0; i < v.size(); ++i) {
|
|
v[i] = OpaqueStruct();
|
|
}
|
|
}
|
|
|
|
void FillVector(const OpaqueVectorEnum& v)
|
|
{
|
|
}
|
|
}
|
|
}
|
|
|
|
#ifndef SWIGCSHARP
|
|
// C# vector typemaps only ready for simple cases right now
|
|
%template(OpaqueVectorType) std::vector<A::OpaqueType>;
|
|
#endif
|