Sha256: 42ec56b74f2b5263f9f2ffd73bbf4c8ededbe54c61039ac027e0d32954ac899e
Contents?: true
Size: 1.61 KB
Versions: 3
Compression:
Stored size: 1.61 KB
Contents
/************************************ * file enc : utf-8 * author : wuyanyi09@gmail.com ************************************/ #ifndef CPPJIEBA_TRANSCODE_H #define CPPJIEBA_TRANSCODE_H #include "Limonp/StringUtil.hpp" #include "Limonp/LocalVector.hpp" namespace CppJieba { using namespace Limonp; typedef uint16_t UnicodeValueType; typedef Limonp::LocalVector<UnicodeValueType> Unicode; namespace TransCode { inline bool decode(const string& str, Unicode& res) { #ifdef CPPJIEBA_GBK return gbkTrans(str, res); #else return utf8ToUnicode(str, res); #endif } inline bool encode(Unicode::const_iterator begin, Unicode::const_iterator end, string& res) { #ifdef CPPJIEBA_GBK return gbkTrans(begin, end, res); #else return unicodeToUtf8(begin, end, res); #endif } inline bool encode(const Unicode& uni, string& res) { return encode(uni.begin(), uni.end(), res); } // compiler is expected to optimized this function to avoid return value copy inline string encode(Unicode::const_iterator begin, Unicode::const_iterator end) { string res; res.reserve(end - begin); encode(begin, end, res); return res; } // compiler is expected to optimized this function to avoid return value copy inline Unicode decode(const string& str) { Unicode unicode; unicode.reserve(str.size()); decode(str, unicode); return unicode; } } } #endif
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
jieba_rb-0.0.5 | ext/cppjieba/src/TransCode.hpp |
jieba_rb-0.0.2 | ext/cppjieba/src/TransCode.hpp |
jieba_rb-0.0.1 | ext/cppjieba/src/TransCode.hpp |