From a74457e8804e858a7e044dbfe7825a0ef4a8e7b6 Mon Sep 17 00:00:00 2001 From: William S Fulton Date: Sun, 29 Jan 2006 00:49:16 +0000 Subject: [PATCH] Finally std::string global and member variables are wrapped as strings by default No need to use the %apply const std::string& { std::string* } trick anymore git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8601 626c5289-ae23-0410-ae9c-e8d60b6d4f22 --- Examples/test-suite/python/li_std_string.i | 29 ++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/Examples/test-suite/python/li_std_string.i b/Examples/test-suite/python/li_std_string.i index 4eefa7a1a..9c32a47f1 100644 --- a/Examples/test-suite/python/li_std_string.i +++ b/Examples/test-suite/python/li_std_string.i @@ -94,4 +94,33 @@ std::basic_string,std::allocator > test_value_ %} +/* Old way, now std::string is a %naturalvar by default +%apply const std::string& { std::string *GlobalString2, + std::string *MemberString2, + std::string *Structure::StaticMemberString2 }; +*/ + +%inline %{ +std::string GlobalString; +std::string GlobalString2 = "global string 2"; + +struct Structure { + std::string MemberString; + std::string MemberString2; + static std::string StaticMemberString; + static std::string StaticMemberString2; + + const std::string ConstMemberString; + static const std::string ConstStaticMemberString; + + Structure() : MemberString2("member string 2"), ConstMemberString("const member string") {} +}; +%} + +%{ + std::string Structure::StaticMemberString = "static member string"; + std::string Structure::StaticMemberString2 = "static member string 2"; + const std::string Structure::ConstStaticMemberString = "const static member string"; +%} +