]> git.saurik.com Git - apple/icu.git/blob - icuSources/i18n/inputext.h
ICU-511.35.tar.gz
[apple/icu.git] / icuSources / i18n / inputext.h
1 /*
2 **********************************************************************
3 * Copyright (C) 2005-2008, International Business Machines
4 * Corporation and others. All Rights Reserved.
5 **********************************************************************
6 */
7
8 #ifndef __INPUTEXT_H
9 #define __INPUTEXT_H
10
11 /**
12 * \file
13 * \internal
14 *
15 * This is an internal header for the Character Set Detection code. The
16 * name is probably too generic...
17 */
18
19
20 #include "unicode/uobject.h"
21
22 #if !UCONFIG_NO_CONVERSION
23
24 U_NAMESPACE_BEGIN
25
26 class InputText : public UMemory
27 {
28 // Prevent copying
29 InputText(const InputText &);
30 public:
31 InputText(UErrorCode &status);
32 ~InputText();
33
34 void setText(const char *in, int32_t len);
35 void setDeclaredEncoding(const char *encoding, int32_t len);
36 UBool isSet() const;
37 void MungeInput(UBool fStripTags);
38
39 // The text to be checked. Markup will have been
40 // removed if appropriate.
41 uint8_t *fInputBytes;
42 int32_t fInputLen; // Length of the byte data in fInputBytes.
43 // byte frequency statistics for the input text.
44 // Value is percent, not absolute.
45 // Value is rounded up, so zero really means zero occurences.
46 int16_t *fByteStats;
47 UBool fC1Bytes; // True if any bytes in the range 0x80 - 0x9F are in the input;false by default
48 char *fDeclaredEncoding;
49
50 const uint8_t *fRawInput; // Original, untouched input bytes.
51 // If user gave us a byte array, this is it.
52 // If user gave us a stream, it's read to a
53 // buffer here.
54 int32_t fRawLength; // Length of data in fRawInput array.
55
56 };
57
58 U_NAMESPACE_END
59
60 #endif
61 #endif /* __INPUTEXT_H */