Root/
Source at commit 1274 created 12 years 11 months ago. By meklort, Module changes, makefile changes. | |
---|---|
1 | /*␉Copyright (C) 2004 Garrett A. Kajmowicz␊ |
2 | ␊ |
3 | ␉This file is part of the uClibc++ Library.␊ |
4 | ␊ |
5 | ␉This library is free software; you can redistribute it and/or␊ |
6 | ␉modify it under the terms of the GNU Lesser General Public␊ |
7 | ␉License as published by the Free Software Foundation; either␊ |
8 | ␉version 2.1 of the License, or (at your option) any later version.␊ |
9 | ␊ |
10 | ␉This library is distributed in the hope that it will be useful,␊ |
11 | ␉but WITHOUT ANY WARRANTY; without even the implied warranty of␊ |
12 | ␉MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU␊ |
13 | ␉Lesser General Public License for more details.␊ |
14 | ␊ |
15 | ␉You should have received a copy of the GNU Lesser General Public␊ |
16 | ␉License along with this library; if not, write to the Free Software␊ |
17 | ␉Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA␊ |
18 | ␊ |
19 | */␊ |
20 | ␊ |
21 | #define __UCLIBCXX_COMPILE_CHAR_TRAITS__ 1␊ |
22 | ␊ |
23 | ␊ |
24 | #include <basic_definitions>␊ |
25 | #include <char_traits>␊ |
26 | ␊ |
27 | namespace std{␊ |
28 | ␊ |
29 | _UCXXEXPORT const char_traits<char>::char_type* char_traits<char>::find(const char_type* s, int n, const char_type& a){␊ |
30 | ␉for(int i=0; i < n; i++){␊ |
31 | ␉␉if(eq(s[i], a)){␊ |
32 | ␉␉␉return (s+i);␊ |
33 | ␉␉}␊ |
34 | ␉}␊ |
35 | ␉return 0;␊ |
36 | }␊ |
37 | ␊ |
38 | _UCXXEXPORT bool char_traits<char>::eq(const char_type& c1, const char_type& c2){␊ |
39 | ␉if(strncmp(&c1, &c2, 1) == 0){␊ |
40 | ␉␉return true;␊ |
41 | ␉}␊ |
42 | ␉return false;␊ |
43 | }␊ |
44 | ␊ |
45 | _UCXXEXPORT char_traits<char>::char_type char_traits<char>::to_char_type(const int_type & i){␊ |
46 | ␉if(i > 0 && i <= 255){␊ |
47 | ␉␉return (char)(unsigned char)i;␊ |
48 | ␉}␊ |
49 | ␊ |
50 | ␉//Out of range␊ |
51 | ␉return 0;␊ |
52 | }␊ |
53 | ␊ |
54 | ␊ |
55 | ␊ |
56 | #ifdef __UCLIBCXX_HAS_WCHAR__␊ |
57 | ␊ |
58 | _UCXXEXPORT const char_traits<wchar_t>::char_type* char_traits<wchar_t>::find(const char_type* s, int n, const char_type& a){␊ |
59 | ␉for(int i=0; i < n; i++){␊ |
60 | ␉␉if(eq(s[i], a)){␊ |
61 | ␉␉␉return (s+i);␊ |
62 | ␉␉}␊ |
63 | ␉}␊ |
64 | ␉return 0;␊ |
65 | }␊ |
66 | ␊ |
67 | #endif␊ |
68 | ␊ |
69 | }␊ |
70 |