ICU 58.2  58.2
ucsdet.h
Go to the documentation of this file.
1 // Copyright (C) 2016 and later: Unicode, Inc. and others.
2 // License & terms of use: http://www.unicode.org/copyright.html
3 /*
4  **********************************************************************
5  * Copyright (C) 2005-2013, International Business Machines
6  * Corporation and others. All Rights Reserved.
7  **********************************************************************
8  * file name: ucsdet.h
9  * encoding: US-ASCII
10  * indentation:4
11  *
12  * created on: 2005Aug04
13  * created by: Andy Heninger
14  *
15  * ICU Character Set Detection, API for C
16  *
17  * Draft version 18 Oct 2005
18  *
19  */
20 
21 #ifndef __UCSDET_H
22 #define __UCSDET_H
23 
24 #include "unicode/utypes.h"
25 
26 #if !UCONFIG_NO_CONVERSION
27 
28 #include "unicode/localpointer.h"
29 #include "unicode/uenum.h"
30 
51 struct UCharsetDetector;
57 
58 struct UCharsetMatch;
65 
74 U_STABLE UCharsetDetector * U_EXPORT2
75 ucsdet_open(UErrorCode *status);
76 
86 U_STABLE void U_EXPORT2
88 
89 #if U_SHOW_CPLUSPLUS_API
90 
92 
103 
105 
106 #endif
107 
123 U_STABLE void U_EXPORT2
124 ucsdet_setText(UCharsetDetector *ucsd, const char *textIn, int32_t len, UErrorCode *status);
125 
126 
145 U_STABLE void U_EXPORT2
146 ucsdet_setDeclaredEncoding(UCharsetDetector *ucsd, const char *encoding, int32_t length, UErrorCode *status);
147 
148 
174 U_STABLE const UCharsetMatch * U_EXPORT2
176 
177 
208 U_STABLE const UCharsetMatch ** U_EXPORT2
209 ucsdet_detectAll(UCharsetDetector *ucsd, int32_t *matchesFound, UErrorCode *status);
210 
211 
212 
228 U_STABLE const char * U_EXPORT2
229 ucsdet_getName(const UCharsetMatch *ucsm, UErrorCode *status);
230 
254 U_STABLE int32_t U_EXPORT2
255 ucsdet_getConfidence(const UCharsetMatch *ucsm, UErrorCode *status);
256 
286 U_STABLE const char * U_EXPORT2
287 ucsdet_getLanguage(const UCharsetMatch *ucsm, UErrorCode *status);
288 
289 
312 U_STABLE int32_t U_EXPORT2
313 ucsdet_getUChars(const UCharsetMatch *ucsm,
314  UChar *buf, int32_t cap, UErrorCode *status);
315 
316 
317 
346 U_STABLE UEnumeration * U_EXPORT2
348 
360 U_STABLE UBool U_EXPORT2
362 
363 
375 U_STABLE UBool U_EXPORT2
377 
378 #ifndef U_HIDE_INTERNAL_API
379 
392 U_INTERNAL UEnumeration * U_EXPORT2
394 
408 U_INTERNAL void U_EXPORT2
409 ucsdet_setDetectableCharset(UCharsetDetector *ucsd, const char *encoding, UBool enabled, UErrorCode *status);
410 #endif /* U_HIDE_INTERNAL_API */
411 
412 #endif
413 #endif /* __UCSDET_H */
414 
415 
void ucsdet_setDetectableCharset(UCharsetDetector *ucsd, const char *encoding, UBool enabled, UErrorCode *status)
Enable or disable individual charset encoding.
UBool ucsdet_enableInputFilter(UCharsetDetector *ucsd, UBool filter)
Enable filtering of input text.
struct UEnumeration UEnumeration
structure representing an enumeration object instance
Definition: uenum.h:41
const char * ucsdet_getName(const UCharsetMatch *ucsm, UErrorCode *status)
Get the name of the charset represented by a UCharsetMatch.
#define U_INTERNAL
This is used to declare a function as an internal ICU C API.
Definition: umachine.h:142
void ucsdet_close(UCharsetDetector *ucsd)
Close a charset detector.
int32_t ucsdet_getUChars(const UCharsetMatch *ucsm, UChar *buf, int32_t cap, UErrorCode *status)
Get the entire input text as a UChar string, placing it into a caller-supplied buffer.
UEnumeration * ucsdet_getDetectableCharsets(const UCharsetDetector *ucsd, UErrorCode *status)
Get an iterator over the set of detectable charsets - over the charsets that are enabled by the speci...
const UCharsetMatch * ucsdet_detect(UCharsetDetector *ucsd, UErrorCode *status)
Return the charset that best matches the supplied input data.
#define U_NAMESPACE_BEGIN
This is used to begin a declaration of a public ICU C++ API.
Definition: uversion.h:131
void ucsdet_setText(UCharsetDetector *ucsd, const char *textIn, int32_t len, UErrorCode *status)
Set the input byte data whose charset is to detected.
void ucsdet_setDeclaredEncoding(UCharsetDetector *ucsd, const char *encoding, int32_t length, UErrorCode *status)
Set the declared encoding for charset detection.
#define U_DEFINE_LOCAL_OPEN_POINTER(LocalPointerClassName, Type, closeFunction)
"Smart pointer" definition macro, deletes objects via the closeFunction.
Definition: localpointer.h:530
C++ API: "Smart pointers" for use with and in ICU4C C++ code.
struct UCharsetDetector UCharsetDetector
Structure representing a charset detector.
Definition: ucsdet.h:56
"Smart pointer" class, closes a UCharsetDetector via ucsdet_close().
uint16_t UChar
Define UChar to be UCHAR_TYPE, if that is #defined (for example, to char16_t), or wchar_t if that is ...
Definition: umachine.h:337
#define U_NAMESPACE_END
This is used to end a declaration of a public ICU C++ API.
Definition: uversion.h:132
const UCharsetMatch ** ucsdet_detectAll(UCharsetDetector *ucsd, int32_t *matchesFound, UErrorCode *status)
Find all charset matches that appear to be consistent with the input, returning an array of results...
UEnumeration * ucsdet_getAllDetectableCharsets(const UCharsetDetector *ucsd, UErrorCode *status)
Get an iterator over the set of all detectable charsets - over the charsets that are known to the cha...
UErrorCode
Error code to replace exception handling, so that the code is compatible with all C++ compilers...
Definition: utypes.h:396
UCharsetDetector * ucsdet_open(UErrorCode *status)
Open a charset detector.
C API: String Enumeration.
int32_t ucsdet_getConfidence(const UCharsetMatch *ucsm, UErrorCode *status)
Get a confidence number for the quality of the match of the byte data with the charset.
Basic definitions for ICU, for both C and C++ APIs.
UBool ucsdet_isInputFilterEnabled(const UCharsetDetector *ucsd)
Test whether input filtering is enabled for this charset detector.
const char * ucsdet_getLanguage(const UCharsetMatch *ucsm, UErrorCode *status)
Get the RFC 3066 code for the language of the input data.
struct UCharsetMatch UCharsetMatch
Opaque structure representing a match that was identified from a charset detection operation...
Definition: ucsdet.h:64
#define U_STABLE
This is used to declare a function as a stable public ICU C API.
Definition: umachine.h:134
int8_t UBool
The ICU boolean type.
Definition: umachine.h:259