// © 2016 and later: Unicode, Inc. and others. // License & terms of use: http://www.unicode.org/copyright.html /* * Copyright (C) 2001-2011, International Business Machines Corporation * and others. All Rights Reserved. ********************************************************************** * Date Name Description * 07/23/01 aliu Creation. ********************************************************************** */ #ifndef STRMATCH_H #define STRMATCH_H #include "unicode/utypes.h" #if !UCONFIG_NO_TRANSLITERATION #include "unicode/unistr.h" #include "unicode/unifunct.h" #include "unicode/unimatch.h" #include "unicode/unirepl.h" U_NAMESPACE_BEGIN class TransliterationRuleData; /** * An object that matches a fixed input string, implementing the * UnicodeMatcher API. This object also implements the * UnicodeReplacer API, allowing it to emit the matched text as * output. Since the match text may contain flexible match elements, * such as UnicodeSets, the emitted text is not the match pattern, but * instead a substring of the actual matched text. Following * convention, the output text is the leftmost match seen up to this * point. * * A StringMatcher may represent a segment, in which case it has a * positive segment number. This affects how the matcher converts * itself to a pattern but does not otherwise affect its function. * * A StringMatcher that is not a segment should not be used as a * UnicodeReplacer. */ class StringMatcher : public UnicodeFunctor, public UnicodeMatcher, public UnicodeReplacer { … }; U_NAMESPACE_END #endif /* #if !UCONFIG_NO_TRANSLITERATION */ #endif