swig/Examples/test-suite/operator_pointer_ref.i
William S Fulton f9e85bb27f Some test-suite fixes for visual studio
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12996 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-04-16 18:45:33 +00:00

27 lines
486 B
OpenEdge ABL

%module operator_pointer_ref
%{
#if defined(_MSC_VER)
#pragma warning(disable: 4996) // 'strdup': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _strdup. See online help for details.
#endif
%}
%rename(AsCharStarRef) operator char*&;
%inline %{
class MyClass {
public:
MyClass (const char *s_ = "")
: s(strdup(s_ ? s_ : ""))
{ }
~MyClass ()
{ free(s); }
operator char*&()
{ return s; }
private:
char *s;
};
%}