tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

csrucode.h (2401B)


      1 // © 2016 and later: Unicode, Inc. and others.
      2 // License & terms of use: http://www.unicode.org/copyright.html
      3 /*
      4 **********************************************************************
      5 *   Copyright (C) 2005-2012, International Business Machines
      6 *   Corporation and others.  All Rights Reserved.
      7 **********************************************************************
      8 */
      9 
     10 #ifndef __CSRUCODE_H
     11 #define __CSRUCODE_H
     12 
     13 #include "unicode/utypes.h"
     14 
     15 #if !UCONFIG_NO_CONVERSION
     16 
     17 #include "csrecog.h"
     18 
     19 U_NAMESPACE_BEGIN
     20 
     21 /**
     22 * This class matches UTF-16 and UTF-32, both big- and little-endian. The
     23 * BOM will be used if it is present.
     24 * 
     25 * @internal
     26 */
     27 class CharsetRecog_Unicode : public CharsetRecognizer 
     28 {
     29 
     30 public:
     31 
     32    virtual ~CharsetRecog_Unicode();
     33    /* (non-Javadoc)
     34     * @see com.ibm.icu.text.CharsetRecognizer#getName()
     35     */
     36    const char* getName() const override = 0;
     37 
     38    /* (non-Javadoc)
     39     * @see com.ibm.icu.text.CharsetRecognizer#match(com.ibm.icu.text.CharsetDetector)
     40     */
     41    UBool match(InputText* textIn, CharsetMatch *results) const override = 0;
     42 };
     43 
     44 
     45 class CharsetRecog_UTF_16_BE : public CharsetRecog_Unicode
     46 {
     47 public:
     48 
     49    virtual ~CharsetRecog_UTF_16_BE();
     50 
     51    const char *getName() const override;
     52 
     53    UBool match(InputText* textIn, CharsetMatch *results) const override;
     54 };
     55 
     56 class CharsetRecog_UTF_16_LE : public CharsetRecog_Unicode
     57 {
     58 public:
     59 
     60    virtual ~CharsetRecog_UTF_16_LE();
     61 
     62    const char *getName() const override;
     63 
     64    UBool match(InputText* textIn, CharsetMatch *results) const override;
     65 };
     66 
     67 class CharsetRecog_UTF_32 : public CharsetRecog_Unicode
     68 {
     69 protected:
     70    virtual int32_t getChar(const uint8_t *input, int32_t index) const = 0;
     71 public:
     72 
     73    virtual ~CharsetRecog_UTF_32();
     74 
     75    const char* getName() const override = 0;
     76 
     77    UBool match(InputText* textIn, CharsetMatch *results) const override;
     78 };
     79 
     80 
     81 class CharsetRecog_UTF_32_BE : public CharsetRecog_UTF_32
     82 {
     83 protected:
     84    int32_t getChar(const uint8_t *input, int32_t index) const override;
     85 
     86 public:
     87 
     88    virtual ~CharsetRecog_UTF_32_BE();
     89 
     90    const char *getName() const override;
     91 };
     92 
     93 
     94 class CharsetRecog_UTF_32_LE : public CharsetRecog_UTF_32
     95 {
     96 protected:
     97    int32_t getChar(const uint8_t *input, int32_t index) const override;
     98 
     99 public:
    100    virtual ~CharsetRecog_UTF_32_LE();
    101 
    102    const char* getName() const override;
    103 };
    104 
    105 U_NAMESPACE_END
    106 
    107 #endif
    108 #endif /* __CSRUCODE_H */