/trunk/Examples/test-suite/template_opaque.i
Swig | 41 lines | 33 code | 8 blank | 0 comment | 0 complexity | 434401e308efec5e7dae1a2064d74013 MD5 | raw file
Possible License(s): LGPL-2.1, Cube, GPL-3.0, 0BSD, GPL-2.0
- %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