comparison lib/swig/swigwin-2.0.11/Lib/std/std_char_traits.i @ 1899:b3009adc0e2f

Adding swig, gitignore, hgignore
author Nomad
date Mon, 21 Oct 2013 10:42:27 +0200
parents
children
comparison
equal deleted inserted replaced
1867:eb580660bbbb 1899:b3009adc0e2f
1 %include <std_common.i>
2 #if defined(SWIG_WCHAR)
3 %include <wchar.i>
4 #endif
5
6 namespace std
7 {
8
9 /// 21.1.2 Basis for explicit _Traits specialization
10 /// NB: That for any given actual character type this definition is
11 /// probably wrong.
12 template<class _CharT>
13 struct char_traits
14 {
15 };
16
17
18 /// 21.1.4 char_traits specializations
19 template<>
20 struct char_traits<char> {
21 typedef char char_type;
22 typedef int int_type;
23 typedef streampos pos_type;
24 typedef streamoff off_type;
25 typedef mbstate_t state_type;
26
27 static void
28 assign(char_type& __c1, const char_type& __c2);
29
30 static bool
31 eq(const char_type& __c1, const char_type& __c2);
32
33 static bool
34 lt(const char_type& __c1, const char_type& __c2);
35
36 static int
37 compare(const char_type* __s1, const char_type* __s2, size_t __n);
38
39 static size_t
40 length(const char_type* __s);
41
42 static const char_type*
43 find(const char_type* __s, size_t __n, const char_type& __a);
44
45 static char_type*
46 move(char_type* __s1, const char_type* __s2, size_t __n);
47
48 static char_type*
49 copy(char_type* __s1, const char_type* __s2, size_t __n);
50
51 static char_type*
52 assign(char_type* __s, size_t __n, char_type __a);
53
54 static char_type
55 to_char_type(const int_type& __c);
56
57 // To keep both the byte 0xff and the eof symbol 0xffffffff
58 // from ending up as 0xffffffff.
59 static int_type
60 to_int_type(const char_type& __c);
61
62 static bool
63 eq_int_type(const int_type& __c1, const int_type& __c2);
64
65 static int_type
66 eof() ;
67
68 static int_type
69 not_eof(const int_type& __c);
70 };
71
72
73 #if defined(SWIG_WCHAR)
74 template<>
75 struct char_traits<wchar_t>
76 {
77 typedef wchar_t char_type;
78 typedef wint_t int_type;
79 typedef streamoff off_type;
80 typedef wstreampos pos_type;
81 typedef mbstate_t state_type;
82
83 static void
84 assign(char_type& __c1, const char_type& __c2);
85
86 static bool
87 eq(const char_type& __c1, const char_type& __c2);
88
89 static bool
90 lt(const char_type& __c1, const char_type& __c2);
91
92 static int
93 compare(const char_type* __s1, const char_type* __s2, size_t __n);
94
95 static size_t
96 length(const char_type* __s);
97
98 static const char_type*
99 find(const char_type* __s, size_t __n, const char_type& __a);
100
101 static char_type*
102 move(char_type* __s1, const char_type* __s2, int_type __n);
103
104 static char_type*
105 copy(char_type* __s1, const char_type* __s2, size_t __n);
106
107 static char_type*
108 assign(char_type* __s, size_t __n, char_type __a);
109
110 static char_type
111 to_char_type(const int_type& __c) ;
112
113 static int_type
114 to_int_type(const char_type& __c) ;
115
116 static bool
117 eq_int_type(const int_type& __c1, const int_type& __c2);
118
119 static int_type
120 eof() ;
121
122 static int_type
123 not_eof(const int_type& __c);
124 };
125 #endif
126 }
127
128 namespace std {
129 #ifndef SWIG_STL_WRAP_TRAITS
130 %template() char_traits<char>;
131 #if defined(SWIG_WCHAR)
132 %template() char_traits<wchar_t>;
133 #endif
134 #else
135 %template(char_traits_c) char_traits<char>;
136 #if defined(SWIG_WCHAR)
137 %template(char_traits_w) char_traits<wchar_t>;
138 #endif
139 #endif
140 }