40
40
cxxtools::IConverter conv("ISO8859-1", "UTF8");
41
41
std::string utf8string = getUtf8String();
42
42
std::string iso8895_1 = conv.convert(utf8string);
44
std::string iso8895_1 = conv(utf8string);
52
IConverter(const std::string& tocode_, const std::string& fromcode_)
57
void setToCode(const std::string& tocode_) { tocode = tocode_; }
58
void setFromCode(const std::string& fromcode_) { fromcode = fromcode_; }
59
const std::string& getToCode() const { return tocode; }
60
const std::string& getFromCode() const { return fromcode; }
62
template <typename objT>
63
std::string convert(objT s) const
67
iconvstream conv(o, tocode.c_str(), fromcode.c_str());
68
conv << s << std::flush;
73
std::string convert(const char* data, unsigned size) const
77
iconvstream conv(o, tocode.c_str(), fromcode.c_str());
78
conv.write(data, size);
84
template <typename iteratorT>
85
std::string convert(iteratorT begin, iteratorT end) const
89
iconvstream conv(o, tocode.c_str(), fromcode.c_str());
90
for (iteratorT it = begin; it != end; ++it)
54
IConverter(const std::string& tocode_, const std::string& fromcode_)
59
void setToCode(const std::string& tocode_) { tocode = tocode_; }
60
void setFromCode(const std::string& fromcode_) { fromcode = fromcode_; }
61
const std::string& getToCode() const { return tocode; }
62
const std::string& getFromCode() const { return fromcode; }
64
template <typename objT>
65
std::string convert(objT s) const
70
conv.exceptions(std::ios::failbit | std::ios::badbit);
71
conv.open(o, tocode.c_str(), fromcode.c_str());
72
conv << s << std::flush;
77
std::string convert(const char* data, unsigned size) const
82
conv.exceptions(std::ios::failbit | std::ios::badbit);
83
conv.open(o, tocode.c_str(), fromcode.c_str());
84
conv.write(data, size);
90
template <typename iteratorT>
91
std::string convertRange(iteratorT begin, iteratorT end) const
96
conv.exceptions(std::ios::failbit | std::ios::badbit);
97
conv.open(o, tocode.c_str(), fromcode.c_str());
98
for (iteratorT it = begin; it != end; ++it)
106
template <typename objT>
107
std::string operator() (objT s) const
108
{ return convert(s); }
110
std::string operator() (const char* data, unsigned size) const
111
{ return convert(data, size); }