/trunk/Examples/test-suite/memberin_extend.i
Swig | 33 lines | 28 code | 5 blank | 0 comment | 0 complexity | e1cd9e478104d7a37e70f590fabec740 MD5 | raw file
Possible License(s): LGPL-2.1, Cube, GPL-3.0, 0BSD, GPL-2.0
- %module memberin_extend
- // Tests memberin typemap is not used for %extend.
- // The test extends the struct with a pseudo member variable
- %inline %{
- #include <string>
- struct ExtendMe {
- };
- %}
- %{
- #include <map>
- std::map<ExtendMe*, char *> ExtendMeStringMap;
- void ExtendMe_thing_set(ExtendMe *self, const char *val) {
- char *old_val = ExtendMeStringMap[self];
- delete [] old_val;
- if (val) {
- ExtendMeStringMap[self] = new char[strlen(val)+1];
- strcpy(ExtendMeStringMap[self], val);
- } else {
- ExtendMeStringMap[self] = 0;
- }
- }
- char * ExtendMe_thing_get(ExtendMe *self) {
- return ExtendMeStringMap[self];
- }
- %}
- %extend ExtendMe {
- char *thing;
- }