This header is part of thetext processing library.
Types | ||
(C++26) | describes an interface for accessing theIANA Character Sets registry (class)[edit] | |
hash support forstd::text_encoding (class template specialization)[edit] |
namespace std{// text_encodingstruct text_encoding; // hash support for text_encodingtemplate<class T>struct hash;template<>struct hash<text_encoding>;}
namespace std{struct text_encoding{staticconstexpr size_t max_name_length=63; // enumeration text_encoding::idenumclass id: int_least32_t{/* see description */};usingenum id; constexpr text_encoding()=default;constexprexplicit text_encoding(string_view enc)noexcept;constexpr text_encoding(id i)noexcept; constexpr id mib()constnoexcept;constexprconstchar* name()constnoexcept; // class text_encoding::aliases_viewstruct aliases_view;constexpr aliases_view aliases()constnoexcept; friendconstexprbool operator==(const text_encoding& encoding,const text_encoding& other)noexcept;friendconstexprbool operator==(const text_encoding& encoding, id i)noexcept; static consteval text_encoding literal()noexcept;static text_encoding environment();template<id i>staticbool environment_is(); private: id mib_= id::unknown;// exposition onlychar name_[max_name_length+1]={0};// exposition only// exposition onlystaticconstexprbool/*comp-name*/(string_view a, string_view b);};}
struct text_encoding::aliases_view:ranges::view_interface<text_encoding::aliases_view>{constexpr/* implementation-defined */ begin()const;constexpr/* implementation-defined */ end()const;};
namespace std{enumclass text_encoding::id: int_least32_t{ other=1, unknown=2, ASCII=3, ISOLatin1=4, ISOLatin2=5, ISOLatin3=6, ISOLatin4=7, ISOLatinCyrillic=8, ISOLatinArabic=9, ISOLatinGreek=10, ISOLatinHebrew=11, ISOLatin5=12, ISOLatin6=13, ISOTextComm=14, HalfWidthKatakana=15, JISEncoding=16, ShiftJIS=17, EUCPkdFmtJapanese=18, EUCFixWidJapanese=19, ISO4UnitedKingdom=20, ISO11SwedishForNames=21, ISO15Italian=22, ISO17Spanish=23, ISO21German=24, ISO60DanishNorwegian=25, ISO69French=26, ISO10646UTF1=27, ISO646basic1983=28, INVARIANT=29, ISO2IntlRefVersion=30, NATSSEFI=31, NATSSEFIADD=32, ISO10Swedish=35, KSC56011987=36, ISO2022KR=37, EUCKR=38, ISO2022JP=39, ISO2022JP2=40, ISO13JISC6220jp=41, ISO14JISC6220ro=42, ISO16Portuguese=43, ISO18Greek7Old=44, ISO19LatinGreek=45, ISO25French=46, ISO27LatinGreek1=47, ISO5427Cyrillic=48, ISO42JISC62261978=49, ISO47BSViewdata=50, ISO49INIS=51, ISO50INIS8=52, ISO51INISCyrillic=53, ISO54271981=54, ISO5428Greek=55, ISO57GB1988=56, ISO58GB231280=57, ISO61Norwegian2=58, ISO70VideotexSupp1=59, ISO84Portuguese2=60, ISO85Spanish2=61, ISO86Hungarian=62, ISO87JISX0208=63, ISO88Greek7=64, ISO89ASMO449=65, ISO90=66, ISO91JISC62291984a=67, ISO92JISC62991984b=68, ISO93JIS62291984badd=69, ISO94JIS62291984hand=70, ISO95JIS62291984handadd=71, ISO96JISC62291984kana=72, ISO2033=73, ISO99NAPLPS=74, ISO102T617bit=75, ISO103T618bit=76, ISO111ECMACyrillic=77, ISO121Canadian1=78, ISO122Canadian2=79, ISO123CSAZ24341985gr=80, ISO88596E=81, ISO88596I=82, ISO128T101G2=83, ISO88598E=84, ISO88598I=85, ISO139CSN369103=86, ISO141JUSIB1002=87, ISO143IECP271=88, ISO146Serbian=89, ISO147Macedonian=90, ISO150=91, ISO151Cuba=92, ISO6937Add=93, ISO153GOST1976874=94, ISO8859Supp=95, ISO10367Box=96, ISO158Lap=97, ISO159JISX02121990=98, ISO646Danish=99, USDK=100, DKUS=101, KSC5636=102, Unicode11UTF7=103, ISO2022CN=104, ISO2022CNEXT=105, UTF8=106, ISO885913=109, ISO885914=110, ISO885915=111, ISO885916=112, GBK=113, GB18030=114, OSDEBCDICDF0415=115, OSDEBCDICDF03IRV=116, OSDEBCDICDF041=117, ISO115481=118, KZ1048=119, UCS2=1000, UCS4=1001, UnicodeASCII=1002, UnicodeLatin1=1003, UnicodeJapanese=1004, UnicodeIBM1261=1005, UnicodeIBM1268=1006, UnicodeIBM1276=1007, UnicodeIBM1264=1008, UnicodeIBM1265=1009, Unicode11=1010, SCSU=1011, UTF7=1012, UTF16BE=1013, UTF16LE=1014, UTF16=1015, CESU8=1016, UTF32=1017, UTF32BE=1018, UTF32LE=1019, BOCU1=1020, UTF7IMAP=1021, Windows30Latin1=2000, Windows31Latin1=2001, Windows31Latin2=2002, Windows31Latin5=2003, HPRoman8=2004, AdobeStandardEncoding=2005, VenturaUS=2006, VenturaInternational=2007, DECMCS=2008, PC850Multilingual=2009, PC8DanishNorwegian=2012, PC862LatinHebrew=2013, PC8Turkish=2014, IBMSymbols=2015, IBMThai=2016, HPLegal=2017, HPPiFont=2018, HPMath8=2019, HPPSMath=2020, HPDesktop=2021, VenturaMath=2022, MicrosoftPublishing=2023, Windows31J=2024, GB2312=2025, Big5=2026, Macintosh=2027, IBM037=2028, IBM038=2029, IBM273=2030, IBM274=2031, IBM275=2032, IBM277=2033, IBM278=2034, IBM280=2035, IBM281=2036, IBM284=2037, IBM285=2038, IBM290=2039, IBM297=2040, IBM420=2041, IBM423=2042, IBM424=2043, PC8CodePage437=2011, IBM500=2044, IBM851=2045, PCp852=2010, IBM855=2046, IBM857=2047, IBM860=2048, IBM861=2049, IBM863=2050, IBM864=2051, IBM865=2052, IBM868=2053, IBM869=2054, IBM870=2055, IBM871=2056, IBM880=2057, IBM891=2058, IBM903=2059, IBM904=2060, IBM905=2061, IBM918=2062, IBM1026=2063, IBMEBCDICATDE=2064, EBCDICATDEA=2065, EBCDICCAFR=2066, EBCDICDKNO=2067, EBCDICDKNOA=2068, EBCDICFISE=2069, EBCDICFISEA=2070, EBCDICFR=2071, EBCDICIT=2072, EBCDICPT=2073, EBCDICES=2074, EBCDICESA=2075, EBCDICESS=2076, EBCDICUK=2077, EBCDICUS=2078, Unknown8BiT=2079, Mnemonic=2080, Mnem=2081, VISCII=2082, VIQR=2083, KOI8R=2084, HZGB2312=2085, IBM866=2086, PC775Baltic=2087, KOI8U=2088, IBM00858=2089, IBM00924=2090, IBM01140=2091, IBM01141=2092, IBM01142=2093, IBM01143=2094, IBM01144=2095, IBM01145=2096, IBM01146=2097, IBM01147=2098, IBM01148=2099, IBM01149=2100, Big5HKSCS=2101, IBM1047=2102, PTCP154=2103, Amiga1251=2104, KOI7switched=2105, BRF=2106, TSCII=2107, CP51932=2108, windows874=2109, windows1250=2250, windows1251=2251, windows1252=2252, windows1253=2253, windows1254=2254, windows1255=2255, windows1256=2256, windows1257=2257, windows1258=2258, TIS620=2259, CP50220=2260};}