/Src/Dependencies/Boost/boost/spirit/home/support/detail/lexer/char_traits.hpp
http://hadesmem.googlecode.com/ · C++ Header · 54 lines · 40 code · 8 blank · 6 comment · 0 complexity · e1b124c984226a5fed40a69ea8eb022f MD5 · raw file
- // char_traits.hpp
- // Copyright (c) 2007-2009 Ben Hanson (http://www.benhanson.net/)
- //
- // Distributed under the Boost Software License, Version 1.0. (See accompanying
- // file licence_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- #ifndef BOOST_LEXER_CHAR_TRAITS_H
- #define BOOST_LEXER_CHAR_TRAITS_H
- // Make sure wchar_t is defined
- #include <string>
- namespace boost
- {
- namespace lexer
- {
- template<typename CharT>
- struct char_traits
- {
- typedef CharT char_type;
- typedef CharT index_type;
- static index_type call (CharT ch)
- {
- return ch;
- }
- };
- template<>
- struct char_traits<char>
- {
- typedef char char_type;
- typedef unsigned char index_type;
-
- static index_type call (char ch)
- {
- return static_cast<index_type>(ch);
- }
- };
- template<>
- struct char_traits<wchar_t>
- {
- typedef wchar_t char_type;
- typedef wchar_t index_type;
- static index_type call (wchar_t ch)
- {
- return ch;
- }
- };
- }
- }
- #endif