summaryrefslogtreecommitdiff
path: root/deps/node/deps/icu-small/source/i18n/collationsets.h
diff options
context:
space:
mode:
Diffstat (limited to 'deps/node/deps/icu-small/source/i18n/collationsets.h')
-rw-r--r--deps/node/deps/icu-small/source/i18n/collationsets.h144
1 files changed, 0 insertions, 144 deletions
diff --git a/deps/node/deps/icu-small/source/i18n/collationsets.h b/deps/node/deps/icu-small/source/i18n/collationsets.h
deleted file mode 100644
index aed41f7a..00000000
--- a/deps/node/deps/icu-small/source/i18n/collationsets.h
+++ /dev/null
@@ -1,144 +0,0 @@
-// © 2016 and later: Unicode, Inc. and others.
-// License & terms of use: http://www.unicode.org/copyright.html
-/*
-*******************************************************************************
-* Copyright (C) 2013-2014, International Business Machines
-* Corporation and others. All Rights Reserved.
-*******************************************************************************
-* collationsets.h
-*
-* created on: 2013feb09
-* created by: Markus W. Scherer
-*/
-
-#ifndef __COLLATIONSETS_H__
-#define __COLLATIONSETS_H__
-
-#include "unicode/utypes.h"
-
-#if !UCONFIG_NO_COLLATION
-
-#include "unicode/uniset.h"
-#include "collation.h"
-
-U_NAMESPACE_BEGIN
-
-struct CollationData;
-
-/**
- * Finds the set of characters and strings that sort differently in the tailoring
- * from the base data.
- *
- * Every mapping in the tailoring needs to be compared to the base,
- * because some mappings are copied for optimization, and
- * all contractions for a character are copied if any contractions for that character
- * are added, modified or removed.
- *
- * It might be simpler to re-parse the rule string, but:
- * - That would require duplicating some of the from-rules builder code.
- * - That would make the runtime code depend on the builder.
- * - That would only work if we have the rule string, and we allow users to
- * omit the rule string from data files.
- */
-class TailoredSet : public UMemory {
-public:
- TailoredSet(UnicodeSet *t)
- : data(NULL), baseData(NULL),
- tailored(t),
- suffix(NULL),
- errorCode(U_ZERO_ERROR) {}
-
- void forData(const CollationData *d, UErrorCode &errorCode);
-
- /**
- * @return U_SUCCESS(errorCode) in C++, void in Java
- * @internal only public for access by callback
- */
- UBool handleCE32(UChar32 start, UChar32 end, uint32_t ce32);
-
-private:
- void compare(UChar32 c, uint32_t ce32, uint32_t baseCE32);
- void comparePrefixes(UChar32 c, const UChar *p, const UChar *q);
- void compareContractions(UChar32 c, const UChar *p, const UChar *q);
-
- void addPrefixes(const CollationData *d, UChar32 c, const UChar *p);
- void addPrefix(const CollationData *d, const UnicodeString &pfx, UChar32 c, uint32_t ce32);
- void addContractions(UChar32 c, const UChar *p);
- void addSuffix(UChar32 c, const UnicodeString &sfx);
- void add(UChar32 c);
-
- /** Prefixes are reversed in the data structure. */
- void setPrefix(const UnicodeString &pfx) {
- unreversedPrefix = pfx;
- unreversedPrefix.reverse();
- }
- void resetPrefix() {
- unreversedPrefix.remove();
- }
-
- const CollationData *data;
- const CollationData *baseData;
- UnicodeSet *tailored;
- UnicodeString unreversedPrefix;
- const UnicodeString *suffix;
- UErrorCode errorCode;
-};
-
-class ContractionsAndExpansions : public UMemory {
-public:
- class CESink : public UMemory {
- public:
- virtual ~CESink();
- virtual void handleCE(int64_t ce) = 0;
- virtual void handleExpansion(const int64_t ces[], int32_t length) = 0;
- };
-
- ContractionsAndExpansions(UnicodeSet *con, UnicodeSet *exp, CESink *s, UBool prefixes)
- : data(NULL),
- contractions(con), expansions(exp),
- sink(s),
- addPrefixes(prefixes),
- checkTailored(0),
- suffix(NULL),
- errorCode(U_ZERO_ERROR) {}
-
- void forData(const CollationData *d, UErrorCode &errorCode);
- void forCodePoint(const CollationData *d, UChar32 c, UErrorCode &ec);
-
- // all following: @internal, only public for access by callback
-
- void handleCE32(UChar32 start, UChar32 end, uint32_t ce32);
-
- void handlePrefixes(UChar32 start, UChar32 end, uint32_t ce32);
- void handleContractions(UChar32 start, UChar32 end, uint32_t ce32);
-
- void addExpansions(UChar32 start, UChar32 end);
- void addStrings(UChar32 start, UChar32 end, UnicodeSet *set);
-
- /** Prefixes are reversed in the data structure. */
- void setPrefix(const UnicodeString &pfx) {
- unreversedPrefix = pfx;
- unreversedPrefix.reverse();
- }
- void resetPrefix() {
- unreversedPrefix.remove();
- }
-
- const CollationData *data;
- UnicodeSet *contractions;
- UnicodeSet *expansions;
- CESink *sink;
- UBool addPrefixes;
- int8_t checkTailored; // -1: collected tailored +1: exclude tailored
- UnicodeSet tailored;
- UnicodeSet ranges;
- UnicodeString unreversedPrefix;
- const UnicodeString *suffix;
- int64_t ces[Collation::MAX_EXPANSION_LENGTH];
- UErrorCode errorCode;
-};
-
-U_NAMESPACE_END
-
-#endif // !UCONFIG_NO_COLLATION
-#endif // __COLLATIONSETS_H__