30#ifndef _RWSTD_CHARMAP_H_INCLUDED
31#define _RWSTD_CHARMAP_H_INCLUDED
38#ifndef _RWSTD_NO_ICONV
59 const std::map<std::string, unsigned char>&
get_n_cmap()
const {
65 const std::map<unsigned char, std::string>&
get_rn_cmap()
const {
71 const std::map<std::string, wchar_t>&
get_w_cmap()
const {
95 return symnames_list_;
113 return code_set_name_;
121 return charmap_name_;
125 bool convert_to_wc (
const std::string&,
const std::string&,
wchar_t&);
128 bool convert_to_ucs (
const std::string&,
const std::string&,
wchar_t&);
135 std::size_t
mbcharlen (
const std::string&)
const;
155 void process_chars();
158 bool increment_encoding (std::string&);
162 void verify_portable_charset ()
const;
164#ifndef _RWSTD_NO_ICONV
166 iconv_t open_iconv_to_utf8 ()
const;
171 std::string encoding_to_mbchar (
const std::string&)
const;
174 char* convert_to_utf8 (
const char *inbuf, std::size_t inbuf_s,
175 char *outbuf, std::size_t outbuf_s)
const;
177#ifndef _RWSTD_NO_ICONV
178# ifndef _RWSTD_NO_ISO_10646_WCHAR_T
181 iconv_t open_iconv_to_ext ();
188 void add_to_cmaps (
const std::string&,
196 std::string code_set_name_;
204 std::map <std::string, unsigned char> n_cmap_;
205 std::map <unsigned char, std::string> rn_cmap_;
210 std::map <std::string, wchar_t> mb_cmap_;
211 std::map <wchar_t, std::string> rmb_cmap_;
213 typedef std::map <wchar_t, std::string>::const_iterator rmb_cmap_iter;
214 typedef std::map <std::string, wchar_t>::const_iterator mb_cmap_iter;
218 std::map <std::string, wchar_t> w_cmap_;
219 std::map <wchar_t, std::string> rw_cmap_;
222 std::map <std::string, wchar_t> ucs4_cmap_;
223 std::map <wchar_t, std::string> rucs4_cmap_;
228#ifndef _RWSTD_NO_ICONV
237 std::string charmap_name_;
240 std::string Clocale_;
242 unsigned char largest_nchar_;
257 std::list<std::string> symnames_list_;
bool convert_to_wc(const std::string &, const std::string &, wchar_t &)
const std::list< std::string > & get_symnames_list() const
const std::map< wchar_t, std::string > & get_rmb_cmap() const
const std::map< unsigned char, std::string > & get_rn_cmap() const
static const char *const portable_charset[]
std::string get_full_charmap_name() const
int get_mb_cur_max() const
const std::string & get_code_set_name() const
const std::map< std::string, unsigned char > & get_n_cmap() const
const std::map< wchar_t, std::string > & get_rucs4_cmap() const
std::string get_charmap_name() const
const std::map< wchar_t, std::string > & get_rw_cmap() const
bool convert_to_ucs(const std::string &, const std::string &, wchar_t &)
unsigned char convert_char(const char *, const char **=0) const
unsigned char get_largest_nchar() const
wchar_t convert_sym_to_ucs(const std::string &) const
const std::map< std::string, wchar_t > & get_w_cmap() const
const std::map< std::string, wchar_t > & get_ucs4_cmap() const
std::size_t mbcharlen(const std::string &) const
const std::map< std::string, wchar_t > & get_mb_cmap() const
wchar_t increment_wchar(wchar_t) const