blob: cd4ed2db0c514395bf4e09922367b4ae0ccb82ee [file] [log] [blame]
%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
#include <string.h>
#include <stdlib.h>
%}
%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;
};
%}