]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/boost/spirit/home/support/detail/lexer/char_traits.hpp
update source to Ceph Pacific 16.2.2
[ceph.git] / ceph / src / boost / boost / spirit / home / support / detail / lexer / char_traits.hpp
1 // char_traits.hpp
2 // Copyright (c) 2007-2009 Ben Hanson (http://www.benhanson.net/)
3 //
4 // Distributed under the Boost Software License, Version 1.0. (See accompanying
5 // file licence_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6 #ifndef BOOST_SPIRIT_SUPPORT_DETAIL_LEXER_CHAR_TRAITS_HPP
7 #define BOOST_SPIRIT_SUPPORT_DETAIL_LEXER_CHAR_TRAITS_HPP
8
9 // Make sure wchar_t is defined
10 #include <string>
11
12 namespace boost
13 {
14 namespace lexer
15 {
16 template<typename CharT>
17 struct char_traits
18 {
19 typedef CharT char_type;
20 typedef CharT index_type;
21
22 static index_type call (CharT ch)
23 {
24 return ch;
25 }
26 };
27
28 template<>
29 struct char_traits<char>
30 {
31 typedef char char_type;
32 typedef unsigned char index_type;
33
34 static index_type call (char ch)
35 {
36 return static_cast<index_type>(ch);
37 }
38 };
39
40 template<>
41 struct char_traits<wchar_t>
42 {
43 typedef wchar_t char_type;
44 typedef wchar_t index_type;
45
46 static index_type call (wchar_t ch)
47 {
48 return ch;
49 }
50 };
51 }
52 }
53
54 #endif