Initial commit of OpenSPARC T2 architecture model.
[OpenSPARC-T2-SAM] / sam-t2 / devtools / amd64 / share / swig / 1.3.26 / python / std_basic_string.i
CommitLineData
920dae64
AT
1#if !defined(SWIG_STD_STRING)
2#define SWIG_STD_BASIC_STRING
3
4%include <pycontainer.swg>
5
6#define %swig_basic_string(Type...) %swig_sequence_methods_val(Type)
7
8
9%fragment(SWIG_AsPtr_frag(std::basic_string<char>),"header",
10 fragment="SWIG_AsCharPtrAndSize") {
11 SWIGINTERN int
12 SWIG_AsPtr(std::basic_string<char>)(PyObject* obj, std::string **val)
13 {
14 static swig_type_info* string_info =
15 SWIG_TypeQuery("std::basic_string<char> *");
16 std::string *vptr;
17 if (SWIG_ConvertPtr(obj, (void**)&vptr, string_info, 0) != -1) {
18 if (val) *val = vptr;
19 return SWIG_OLDOBJ;
20 } else {
21 PyErr_Clear();
22 char* buf = 0 ; size_t size = 0;
23 if (SWIG_AsCharPtrAndSize(obj, &buf, &size)) {
24 if (buf) {
25 if (val) *val = new std::string(buf, size - 1);
26 return SWIG_NEWOBJ;
27 }
28 } else {
29 PyErr_Clear();
30 }
31 if (val) {
32 PyErr_SetString(PyExc_TypeError,"a string is expected");
33 }
34 return 0;
35 }
36 }
37}
38
39%fragment(SWIG_From_frag(std::basic_string<char>),"header",
40 fragment="SWIG_FromCharArray") {
41SWIGINTERNINLINE PyObject*
42 SWIG_From(std::basic_string<char>)(const std::string& s)
43 {
44 return SWIG_FromCharArray(s.data(), s.size());
45 }
46}
47
48%include <std/std_basic_string.i>
49%typemap_asptrfromn(SWIG_CCode(STRING), std::basic_string<char>);
50
51#endif
52
53
54#if !defined(SWIG_STD_WSTRING)
55
56%fragment(SWIG_AsPtr_frag(std::basic_string<wchar_t>),"header",
57 fragment="SWIG_AsWCharPtrAndSize") {
58SWIGINTERN int
59 SWIG_AsPtr(std::basic_string<wchar_t>)(PyObject* obj, std::wstring **val)
60 {
61 static swig_type_info* string_info =
62 SWIG_TypeQuery("std::basic_string<wchar_t> *");
63 std::wstring *vptr;
64 if (SWIG_ConvertPtr(obj, (void**)&vptr, string_info, 0) != -1) {
65 if (val) *val = vptr;
66 return SWIG_OLDOBJ;
67 } else {
68 PyErr_Clear();
69 wchar_t *buf = 0 ; size_t size = 0;
70 int res = 0;
71 if ((res = SWIG_AsWCharPtrAndSize(obj, &buf, &size))) {
72 if (buf) {
73 if (val) *val = new std::wstring(buf, size - 1);
74 if (res == SWIG_NEWOBJ) SWIG_delete_array(buf);
75 return SWIG_NEWOBJ;
76 }
77 } else {
78 PyErr_Clear();
79 }
80 if (val) {
81 PyErr_SetString(PyExc_TypeError,"a wstring is expected");
82 }
83 return 0;
84 }
85 }
86}
87
88%fragment(SWIG_From_frag(std::basic_string<wchar_t>),"header",
89 fragment="SWIG_FromWCharArray") {
90SWIGINTERNINLINE PyObject*
91 SWIG_From(std::basic_string<wchar_t>)(const std::wstring& s)
92 {
93 return SWIG_FromWCharArray(s.data(), s.size());
94 }
95}
96
97%typemap_asptrfromn(SWIG_CCode(UNISTRING), std::basic_string<wchar_t>);
98
99#endif