Add test for 'natural' C++ std::string handling in C (char*).
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2012-c@13482 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
0e75ebbc34
commit
b0318dae69
3 changed files with 30 additions and 0 deletions
|
|
@ -23,6 +23,7 @@ CPP_TEST_CASES += \
|
||||||
cpp_basic_global_var_atom \
|
cpp_basic_global_var_atom \
|
||||||
cpp_basic_global_var_class \
|
cpp_basic_global_var_class \
|
||||||
cpp_basic_namespaced_class \
|
cpp_basic_namespaced_class \
|
||||||
|
c_backend_cpp_natural_std_string \
|
||||||
c_backend_cpp_exception
|
c_backend_cpp_exception
|
||||||
|
|
||||||
#
|
#
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <assert.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include "c_backend_cpp_natural_std_string/c_backend_cpp_natural_std_string_proxy.h"
|
||||||
|
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
char *myComposedString = myStringAppend("World, ", "Hello!");
|
||||||
|
|
||||||
|
assert(myComposedString);
|
||||||
|
assert(strcmp(myComposedString, "World, Hello!") == 0);
|
||||||
|
|
||||||
|
free(myComposedString);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
13
Examples/test-suite/c_backend_cpp_natural_std_string.i
Normal file
13
Examples/test-suite/c_backend_cpp_natural_std_string.i
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
%module c_backend_cpp_natural_std_string
|
||||||
|
|
||||||
|
%feature ("nspace", "1");
|
||||||
|
|
||||||
|
%include std_string.i
|
||||||
|
|
||||||
|
%inline %{
|
||||||
|
static std::string& myStringAppend(std::string &someString, const std::string &appendedString)
|
||||||
|
{
|
||||||
|
someString += appendedString;
|
||||||
|
return someString;
|
||||||
|
}
|
||||||
|
%}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue