//
//  Generated by the J2ObjC translator.  DO NOT EDIT!
//  source: /Users/antoniocortes/j2objcprj/relases/j2objc/guava/android/build_result/java/com/google/common/base/CharMatcher.java
//

#include "J2ObjC_header.h"

#pragma push_macro("INCLUDE_ALL_ComGoogleCommonBaseCharMatcher")
#ifdef RESTRICT_ComGoogleCommonBaseCharMatcher
#define INCLUDE_ALL_ComGoogleCommonBaseCharMatcher 0
#else
#define INCLUDE_ALL_ComGoogleCommonBaseCharMatcher 1
#endif
#undef RESTRICT_ComGoogleCommonBaseCharMatcher
#ifdef INCLUDE_ComGoogleCommonBaseCharMatcher_Whitespace
#define INCLUDE_ComGoogleCommonBaseCharMatcher_NamedFastMatcher 1
#endif
#ifdef INCLUDE_ComGoogleCommonBaseCharMatcher_NamedFastMatcher
#define INCLUDE_ComGoogleCommonBaseCharMatcher_FastMatcher 1
#endif
#ifdef INCLUDE_ComGoogleCommonBaseCharMatcher_FastMatcher
#define INCLUDE_ComGoogleCommonBaseCharMatcher 1
#endif
#ifdef INCLUDE_ComGoogleCommonBaseCharMatcher_NegatedFastMatcher
#define INCLUDE_ComGoogleCommonBaseCharMatcher_Negated 1
#endif
#ifdef INCLUDE_ComGoogleCommonBaseCharMatcher_Negated
#define INCLUDE_ComGoogleCommonBaseCharMatcher 1
#endif

#pragma clang diagnostic push
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"

#if __has_feature(nullability)
#pragma clang diagnostic push
#pragma GCC diagnostic ignored "-Wnullability"
#pragma GCC diagnostic ignored "-Wnullability-completeness"
#endif

#if !defined (ComGoogleCommonBaseCharMatcher_) && (INCLUDE_ALL_ComGoogleCommonBaseCharMatcher || defined(INCLUDE_ComGoogleCommonBaseCharMatcher))
#define ComGoogleCommonBaseCharMatcher_

#define RESTRICT_ComGoogleCommonBasePredicate 1
#define INCLUDE_ComGoogleCommonBasePredicate 1
#include "com/google/common/base/Predicate.h"

@class JavaLangCharacter;
@class JavaUtilBitSet;
@protocol JavaLangCharSequence;

/*!
 @brief Determines a true or false value for any Java <code>char</code> value, just as <code>Predicate</code> does
  for any <code>Object</code>.Also offers basic text processing methods based on this function.
 Implementations are strongly encouraged to be side-effect-free and immutable. 
 <p>Throughout the documentation of this class, the phrase "matching character" is used to mean
  "any <code>char</code> value <code>c</code> for which <code>this.matches(c)</code> returns <code>true</code>".
  
 <p><b>Warning:</b> This class deals only with <code>char</code> values, that is, <a href="http://www.unicode.org/glossary/#BMP_character">
 BMP characters</a>. It does not understand 
 <a href="http://www.unicode.org/glossary/#supplementary_code_point">supplementary Unicode code
  points</a> in the range <code>0x10000</code> to <code>0x10FFFF</code> which includes the majority of
  assigned characters, including important CJK characters and emoji. 
 <p>Supplementary characters are <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Character.html#supplementary">
 encoded
  into a <code>String</code> using surrogate pairs</a>, and a <code>CharMatcher</code> treats these just as
  two separate characters. <code>countIn</code> counts each supplementary character as 2 <code>char</code>s.
  
 <p>For up-to-date Unicode character properties (digit, letter, etc.) and support for
  supplementary code points, use ICU4J UCharacter and UnicodeSet (freeze() after building). For
  basic text processing based on UnicodeSet use the ICU4J UnicodeSetSpanner. 
 <p>Example usages: 
 @code

    String trimmed = <code>whitespace()</code>.<code>trimFrom</code>(userInput);
    if (<code>ascii()</code>.<code>matchesAllOf</code>(s)) { ... }
@endcode
  
 <p>See the Guava User Guide article on <a href="https://github.com/google/guava/wiki/StringsExplained#charmatcher">
 <code>CharMatcher</code>
  </a>.
 @author Kevin Bourrillion
 @since 1.0
 */
@interface ComGoogleCommonBaseCharMatcher : NSObject < ComGoogleCommonBasePredicate >
@property (readonly, class, strong) ComGoogleCommonBaseCharMatcher *WHITESPACE NS_SWIFT_NAME(WHITESPACE);
@property (readonly, class, strong) ComGoogleCommonBaseCharMatcher *BREAKING_WHITESPACE NS_SWIFT_NAME(BREAKING_WHITESPACE);
@property (readonly, class, strong) ComGoogleCommonBaseCharMatcher *ASCII NS_SWIFT_NAME(ASCII);
@property (readonly, class, strong) ComGoogleCommonBaseCharMatcher *DIGIT NS_SWIFT_NAME(DIGIT);
@property (readonly, class, strong) ComGoogleCommonBaseCharMatcher *JAVA_DIGIT NS_SWIFT_NAME(JAVA_DIGIT);
@property (readonly, class, strong) ComGoogleCommonBaseCharMatcher *JAVA_LETTER NS_SWIFT_NAME(JAVA_LETTER);
@property (readonly, class, strong) ComGoogleCommonBaseCharMatcher *JAVA_LETTER_OR_DIGIT NS_SWIFT_NAME(JAVA_LETTER_OR_DIGIT);
@property (readonly, class, strong) ComGoogleCommonBaseCharMatcher *JAVA_UPPER_CASE NS_SWIFT_NAME(JAVA_UPPER_CASE);
@property (readonly, class, strong) ComGoogleCommonBaseCharMatcher *JAVA_LOWER_CASE NS_SWIFT_NAME(JAVA_LOWER_CASE);
@property (readonly, class, strong) ComGoogleCommonBaseCharMatcher *JAVA_ISO_CONTROL NS_SWIFT_NAME(JAVA_ISO_CONTROL);
@property (readonly, class, strong) ComGoogleCommonBaseCharMatcher *INVISIBLE NS_SWIFT_NAME(INVISIBLE);
@property (readonly, class, strong) ComGoogleCommonBaseCharMatcher *SINGLE_WIDTH NS_SWIFT_NAME(SINGLE_WIDTH);
@property (readonly, class, strong) ComGoogleCommonBaseCharMatcher *ANY NS_SWIFT_NAME(ANY);
@property (readonly, class, strong) ComGoogleCommonBaseCharMatcher *NONE NS_SWIFT_NAME(NONE);

+ (ComGoogleCommonBaseCharMatcher *)WHITESPACE;

+ (ComGoogleCommonBaseCharMatcher *)BREAKING_WHITESPACE;

+ (ComGoogleCommonBaseCharMatcher *)ASCII;

+ (ComGoogleCommonBaseCharMatcher *)DIGIT;

+ (ComGoogleCommonBaseCharMatcher *)JAVA_DIGIT;

+ (ComGoogleCommonBaseCharMatcher *)JAVA_LETTER;

+ (ComGoogleCommonBaseCharMatcher *)JAVA_LETTER_OR_DIGIT;

+ (ComGoogleCommonBaseCharMatcher *)JAVA_UPPER_CASE;

+ (ComGoogleCommonBaseCharMatcher *)JAVA_LOWER_CASE;

+ (ComGoogleCommonBaseCharMatcher *)JAVA_ISO_CONTROL;

+ (ComGoogleCommonBaseCharMatcher *)INVISIBLE;

+ (ComGoogleCommonBaseCharMatcher *)SINGLE_WIDTH;

+ (ComGoogleCommonBaseCharMatcher *)ANY;

+ (ComGoogleCommonBaseCharMatcher *)NONE;

#pragma mark Public

/*!
 @brief Returns a matcher that matches any character matched by both this matcher and <code>other</code>.
 */
- (ComGoogleCommonBaseCharMatcher *)and__WithComGoogleCommonBaseCharMatcher:(ComGoogleCommonBaseCharMatcher *)other;

/*!
 @brief Matches any character.
 @since 19.0 (since 1.0 as constant <code>ANY</code>)
 */
+ (ComGoogleCommonBaseCharMatcher *)any;

/*!
 @brief Returns a <code>char</code> matcher that matches any BMP character present in the given character
  sequence.Returns a bogus matcher if the sequence contains supplementary characters.
 */
+ (ComGoogleCommonBaseCharMatcher *)anyOfWithJavaLangCharSequence:(id<JavaLangCharSequence>)sequence;

/*!
 */
- (jboolean)applyWithId:(JavaLangCharacter *)character __attribute__((deprecated));

/*!
 @brief Determines whether a character is ASCII, meaning that its code point is less than 128.
 @since 19.0 (since 1.0 as constant <code>ASCII</code>)
 */
+ (ComGoogleCommonBaseCharMatcher *)ascii;

/*!
 @brief Determines whether a character is a breaking whitespace (that is, a whitespace which can be
  interpreted as a break between words for formatting purposes).See <code>whitespace()</code> for a
  discussion of that term.
 @since 19.0 (since 2.0 as constant <code>BREAKING_WHITESPACE</code>)
 */
+ (ComGoogleCommonBaseCharMatcher *)breakingWhitespace;

/*!
 @brief Returns a string copy of the input character sequence, with each group of consecutive matching
  BMP characters replaced by a single replacement character.For example: 
 @code
 CharMatcher.anyOf("eko").collapseFrom("bookkeeper", '-') 
 
@endcode
  ... returns <code>"b-p-r"</code>.
 <p>The default implementation uses <code>indexIn(CharSequence)</code> to find the first matching
  character, then iterates the remainder of the sequence calling <code>matches(char)</code> for each
  character.
 @param sequence the character sequence to replace matching groups of characters in
 @param replacement the character to append to the result string in place of each group of      matching characters in 
 <code>sequence</code>
 @return the new string
 */
- (NSString *)collapseFromWithJavaLangCharSequence:(id<JavaLangCharSequence>)sequence
                                          withChar:(jchar)replacement;

/*!
 @brief Returns the number of matching <code>char</code>s found in a character sequence.
 <p>Counts 2 per supplementary character, such as for <code>whitespace</code>().<code>negate</code>().
 */
- (jint)countInWithJavaLangCharSequence:(id<JavaLangCharSequence>)sequence;

/*!
 @brief Determines whether a character is a BMP digit according to <a href="http://unicode.org/cldr/utility/list-unicodeset.jsp?
 a=%5Cp%7Bdigit%7D">
 Unicode</a>.If
  you only care to match ASCII digits, you can use <code>inRange('0', '9')</code>.
 @since 19.0 (since 1.0 as constant <code>DIGIT</code>)
 */
+ (ComGoogleCommonBaseCharMatcher *)digit __attribute__((deprecated));

/*!
 @brief Returns a matcher with identical behavior to the given <code>Character</code>-based predicate, but
  which operates on primitive <code>char</code> instances instead.
 */
+ (ComGoogleCommonBaseCharMatcher *)forPredicateWithComGoogleCommonBasePredicate:(id<ComGoogleCommonBasePredicate>)predicate;

/*!
 @brief Returns the index of the first matching BMP character in a character sequence, or <code>-1</code> if
  no matching character is present.
 <p>The default implementation iterates over the sequence in forward order calling <code>matches</code>
  for each character.
 @param sequence the character sequence to examine from the beginning
 @return an index, or <code>-1</code> if no character matches
 */
- (jint)indexInWithJavaLangCharSequence:(id<JavaLangCharSequence>)sequence;

/*!
 @brief Returns the index of the first matching BMP character in a character sequence, starting from a
  given position, or <code>-1</code> if no character matches after that position.
 <p>The default implementation iterates over the sequence in forward order, beginning at <code>start</code>
 , calling <code>matches</code> for each character.
 @param sequence the character sequence to examine
 @param start the first index to examine; must be nonnegative and no greater than <code>sequence.length()</code>
 @return the index of the first matching character, guaranteed to be no less than <code>start</code>,
      or <code>-1</code> if no character matches
 @throw IndexOutOfBoundsExceptionif start is negative or greater than <code>sequence.length()</code>
 */
- (jint)indexInWithJavaLangCharSequence:(id<JavaLangCharSequence>)sequence
                                withInt:(jint)start;

/*!
 @brief Returns a <code>char</code> matcher that matches any character in a given BMP range (both endpoints
  are inclusive).For example, to match any lowercase letter of the English alphabet, use <code>CharMatcher.inRange('a', 'z')</code>
 .
 @throw IllegalArgumentExceptionif <code>endInclusive < startInclusive</code>
 */
+ (ComGoogleCommonBaseCharMatcher *)inRangeWithChar:(jchar)startInclusive
                                           withChar:(jchar)endInclusive;

/*!
 @brief Determines whether a character is invisible; that is, if its Unicode category is any of
  SPACE_SEPARATOR, LINE_SEPARATOR, PARAGRAPH_SEPARATOR, CONTROL, FORMAT, SURROGATE, and
  PRIVATE_USE according to ICU4J.
 <p>See also the Unicode Default_Ignorable_Code_Point property (available via ICU).
 @since 19.0 (since 1.0 as constant <code>INVISIBLE</code>)
 */
+ (ComGoogleCommonBaseCharMatcher *)invisible __attribute__((deprecated));

/*!
 @brief Returns a <code>char</code> matcher that matches only one specified BMP character.
 */
+ (ComGoogleCommonBaseCharMatcher *)isWithChar:(jchar)match;

/*!
 @brief Returns a <code>char</code> matcher that matches any character except the BMP character specified.
 <p>To negate another <code>CharMatcher</code>, use <code>negate()</code>.
 */
+ (ComGoogleCommonBaseCharMatcher *)isNotWithChar:(jchar)match;

/*!
 @brief Determines whether a character is a BMP digit according to Java's definition
 .If you only care to match ASCII digits, you can use <code>inRange('0',
  '9')</code>
 .
 @since 19.0 (since 1.0 as constant <code>JAVA_DIGIT</code>)
 */
+ (ComGoogleCommonBaseCharMatcher *)javaDigit __attribute__((deprecated));

/*!
 @brief Determines whether a character is an ISO control character as specified by <code>Character.isISOControl(char)</code>
 .
 <p>All ISO control codes are on the BMP and thus supported by this API.
 @since 19.0 (since 1.0 as constant <code>JAVA_ISO_CONTROL</code>)
 */
+ (ComGoogleCommonBaseCharMatcher *)javaIsoControl;

/*!
 @brief Determines whether a character is a BMP letter according to Java's definition
 .If you only care to match letters of the Latin
  alphabet, you can use <code>inRange('a', 'z').or(inRange('A', 'Z'))</code>.
 @since 19.0 (since 1.0 as constant <code>JAVA_LETTER</code>)
 */
+ (ComGoogleCommonBaseCharMatcher *)javaLetter __attribute__((deprecated));

/*!
 @brief Determines whether a character is a BMP letter or digit according to Java's definition
 .
 @since 19.0 (since 1.0 as constant <code>JAVA_LETTER_OR_DIGIT</code>).
 */
+ (ComGoogleCommonBaseCharMatcher *)javaLetterOrDigit __attribute__((deprecated));

/*!
 @brief Determines whether a BMP character is lower case according to Java's definition
 .
 @since 19.0 (since 1.0 as constant <code>JAVA_LOWER_CASE</code>)
 */
+ (ComGoogleCommonBaseCharMatcher *)javaLowerCase __attribute__((deprecated));

/*!
 @brief Determines whether a BMP character is upper case according to Java's definition
 .
 @since 19.0 (since 1.0 as constant <code>JAVA_UPPER_CASE</code>)
 */
+ (ComGoogleCommonBaseCharMatcher *)javaUpperCase __attribute__((deprecated));

/*!
 @brief Returns the index of the last matching BMP character in a character sequence, or <code>-1</code> if
  no matching character is present.
 <p>The default implementation iterates over the sequence in reverse order calling <code>matches</code>
  for each character.
 @param sequence the character sequence to examine from the end
 @return an index, or <code>-1</code> if no character matches
 */
- (jint)lastIndexInWithJavaLangCharSequence:(id<JavaLangCharSequence>)sequence;

/*!
 @brief Determines a true or false value for the given character.
 */
- (jboolean)matchesWithChar:(jchar)c;

/*!
 @brief Returns <code>true</code> if a character sequence contains only matching BMP characters.
 <p>The default implementation iterates over the sequence, invoking <code>matches</code> for each
  character, until this returns <code>false</code> or the end is reached.
 @param sequence the character sequence to examine, possibly empty
 @return <code>true</code> if this matcher matches every character in the sequence, including when
      the sequence is empty
 */
- (jboolean)matchesAllOfWithJavaLangCharSequence:(id<JavaLangCharSequence>)sequence;

/*!
 @brief Returns <code>true</code> if a character sequence contains at least one matching BMP character.
 Equivalent to <code>!matchesNoneOf(sequence)</code>.
  
 <p>The default implementation iterates over the sequence, invoking <code>matches</code> for each
  character, until this returns <code>true</code> or the end is reached.
 @param sequence the character sequence to examine, possibly empty
 @return <code>true</code> if this matcher matches at least one character in the sequence
 @since 8.0
 */
- (jboolean)matchesAnyOfWithJavaLangCharSequence:(id<JavaLangCharSequence>)sequence;

/*!
 @brief Returns <code>true</code> if a character sequence contains no matching BMP characters.Equivalent to 
 <code>!
 matchesAnyOf(sequence)</code>.
  
 <p>The default implementation iterates over the sequence, invoking <code>matches</code> for each
  character, until this returns <code>true</code> or the end is reached.
 @param sequence the character sequence to examine, possibly empty
 @return <code>true</code> if this matcher matches no characters in the sequence, including when the
      sequence is empty
 */
- (jboolean)matchesNoneOfWithJavaLangCharSequence:(id<JavaLangCharSequence>)sequence;

/*!
 @brief Returns a matcher that matches any character not matched by this matcher.
 */
- (ComGoogleCommonBaseCharMatcher *)negate;

/*!
 @brief Matches no characters.
 @since 19.0 (since 1.0 as constant <code>NONE</code>)
 */
+ (ComGoogleCommonBaseCharMatcher *)none;

/*!
 @brief Returns a <code>char</code> matcher that matches any BMP character not present in the given
  character sequence.Returns a bogus matcher if the sequence contains supplementary characters.
 */
+ (ComGoogleCommonBaseCharMatcher *)noneOfWithJavaLangCharSequence:(id<JavaLangCharSequence>)sequence;

/*!
 @brief Returns a matcher that matches any character matched by either this matcher or <code>other</code>.
 */
- (ComGoogleCommonBaseCharMatcher *)or__WithComGoogleCommonBaseCharMatcher:(ComGoogleCommonBaseCharMatcher *)other;

/*!
 @brief Returns a <code>char</code> matcher functionally equivalent to this one, but which may be faster to
  query than the original; your mileage may vary.Precomputation takes time and is likely to be
  worthwhile only if the precomputed matcher is queried many thousands of times.
 <p>This method has no effect (returns <code>this</code>) when called in GWT: it's unclear whether a
  precomputed matcher is faster, but it certainly consumes more memory, which doesn't seem like a
  worthwhile tradeoff in a browser.
 */
- (ComGoogleCommonBaseCharMatcher *)precomputed;

/*!
 @brief Returns a string containing all non-matching characters of a character sequence, in order.For
  example: 
 @code
 CharMatcher.is('a').removeFrom("bazaar")
  
 
@endcode
  ... returns <code>"bzr"</code>.
 */
- (NSString *)removeFromWithJavaLangCharSequence:(id<JavaLangCharSequence>)sequence;

/*!
 @brief Returns a string copy of the input character sequence, with each matching BMP character
  replaced by a given replacement character.For example: 
 @code
 CharMatcher.is('a').replaceFrom("radar", 'o') 
 
@endcode
  ... returns <code>"rodor"</code>.
 <p>The default implementation uses <code>indexIn(CharSequence)</code> to find the first matching
  character, then iterates the remainder of the sequence calling <code>matches(char)</code> for each
  character.
 @param sequence the character sequence to replace matching characters in
 @param replacement the character to append to the result string in place of each matching      character in 
 <code>sequence</code>
 @return the new string
 */
- (NSString *)replaceFromWithJavaLangCharSequence:(id<JavaLangCharSequence>)sequence
                                         withChar:(jchar)replacement;

/*!
 @brief Returns a string copy of the input character sequence, with each matching BMP character
  replaced by a given replacement sequence.For example: 
 @code
 CharMatcher.is('a').replaceFrom("yaha", "oo") 
 
@endcode
  ... returns <code>"yoohoo"</code>.
 <p><b>Note:</b> If the replacement is a fixed string with only one character, you are better
  off calling <code>replaceFrom(CharSequence, char)</code> directly.
 @param sequence the character sequence to replace matching characters in
 @param replacement the characters to append to the result string in place of each matching      character in 
 <code>sequence</code>
 @return the new string
 */
- (NSString *)replaceFromWithJavaLangCharSequence:(id<JavaLangCharSequence>)sequence
                         withJavaLangCharSequence:(id<JavaLangCharSequence>)replacement;

/*!
 @brief Returns a string containing all matching BMP characters of a character sequence, in order.For
  example: 
 @code
 CharMatcher.is('a').retainFrom("bazaar")
  
 
@endcode
  ... returns <code>"aaa"</code>.
 */
- (NSString *)retainFromWithJavaLangCharSequence:(id<JavaLangCharSequence>)sequence;

/*!
 @brief Determines whether a character is single-width (not double-width).When in doubt, this matcher
  errs on the side of returning <code>false</code> (that is, it tends to assume a character is
  double-width).
 <p><b>Note:</b> as the reference file evolves, we will modify this matcher to keep it up to
  date. 
 <p>See also <a href="http://www.unicode.org/reports/tr11/">UAX #11 East Asian Width</a>.
 @since 19.0 (since 1.0 as constant <code>SINGLE_WIDTH</code>)
 */
+ (ComGoogleCommonBaseCharMatcher *)singleWidth __attribute__((deprecated));

/*!
 @brief Returns a string representation of this <code>CharMatcher</code>, such as <code>CharMatcher.or(WHITESPACE, JAVA_DIGIT)</code>
 .
 */
- (NSString *)description;

/*!
 @brief Collapses groups of matching characters exactly as <code>collapseFrom</code> does, except that
  groups of matching BMP characters at the start or end of the sequence are removed without
  replacement.
 */
- (NSString *)trimAndCollapseFromWithJavaLangCharSequence:(id<JavaLangCharSequence>)sequence
                                                 withChar:(jchar)replacement;

/*!
 @brief Returns a substring of the input character sequence that omits all matching BMP characters from
  the beginning and from the end of the string.For example: 
 @code
 CharMatcher.anyOf("ab").trimFrom("abacatbab")
  
 
@endcode
  ... returns <code>"cat"</code>.
 <p>Note that: 
 @code
 CharMatcher.inRange('\0', ' ').trimFrom(str) 
 
@endcode
  ... is equivalent to <code>String.trim()</code>.
 */
- (NSString *)trimFromWithJavaLangCharSequence:(id<JavaLangCharSequence>)sequence;

/*!
 @brief Returns a substring of the input character sequence that omits all matching BMP characters from
  the beginning of the string.For example: 
 @code
 CharMatcher.anyOf("ab").trimLeadingFrom("abacatbab")
  
 
@endcode
  ... returns <code>"catbab"</code>.
 */
- (NSString *)trimLeadingFromWithJavaLangCharSequence:(id<JavaLangCharSequence>)sequence;

/*!
 @brief Returns a substring of the input character sequence that omits all matching BMP characters from
  the end of the string.For example: 
 @code
 CharMatcher.anyOf("ab").trimTrailingFrom("abacatbab")
  
 
@endcode
  ... returns <code>"abacat"</code>.
 */
- (NSString *)trimTrailingFromWithJavaLangCharSequence:(id<JavaLangCharSequence>)sequence;

/*!
 @brief Determines whether a character is whitespace according to the latest Unicode standard, as
  illustrated <a href="http://unicode.org/cldr/utility/list-unicodeset.jsp?
 a=%5Cp%7Bwhitespace%7D">
 here</a>.
 This is not the same definition used by other Java APIs. (See a <a href="https://goo.gl/Y6SLWx">
 comparison of several definitions of "whitespace"</a>.)
  
 <p>All Unicode White_Space characters are on the BMP and thus supported by this API. 
 <p><b>Note:</b> as the Unicode definition evolves, we will modify this matcher to keep it up to
  date.
 @since 19.0 (since 1.0 as constant <code>WHITESPACE</code>)
 */
+ (ComGoogleCommonBaseCharMatcher *)whitespace;

#pragma mark Protected

/*!
 @brief Constructor for use by subclasses.When subclassing, you may want to override <code>toString()</code>
  to provide a useful description.
 */
- (instancetype __nonnull)init;

#pragma mark Package-Private

/*!
 @brief This is the actual implementation of <code>precomputed</code>, but we bounce calls through a method
  on <code>Platform</code> so that we can have different behavior in GWT.
 <p>This implementation tries to be smart in a number of ways. It recognizes cases where the
  negation is cheaper to precompute than the matcher itself; it tries to build small hash tables
  for matchers that only match a few characters, and so on. In the worst-case scenario, it
  constructs an eight-kilobyte bit array and queries that. In many situations this produces a
  matcher which is faster to query than the original.
 */
- (ComGoogleCommonBaseCharMatcher *)precomputedInternal;

/*!
 @brief Sets bits in <code>table</code> matched by this matcher.
 */
- (void)setBitsWithJavaUtilBitSet:(JavaUtilBitSet *)table;

@end

J2OBJC_STATIC_INIT(ComGoogleCommonBaseCharMatcher)

/*!
 @brief Determines whether a character is whitespace according to the latest Unicode
  standard, as illustrated 
 <a
   // href="http://unicode.org/cldr/utility/list-unicodeset.jsp?
 a=%5Cp%7Bwhitespace%7D">here</a>.
 This is not the same definition used by other Java APIs. (See a 
 <a href="https://goo.gl/Y6SLWx">comparison of several definitions of
  "whitespace"</a>.)
  
 <p><b>Note:</b> as the Unicode definition evolves, we will modify this constant
  to keep it up to date.
 */
inline ComGoogleCommonBaseCharMatcher *ComGoogleCommonBaseCharMatcher_get_WHITESPACE(void);
/*! INTERNAL ONLY - Use accessor function from above. */
FOUNDATION_EXPORT ComGoogleCommonBaseCharMatcher *ComGoogleCommonBaseCharMatcher_WHITESPACE;
J2OBJC_STATIC_FIELD_OBJ_FINAL(ComGoogleCommonBaseCharMatcher, WHITESPACE, ComGoogleCommonBaseCharMatcher *)

/*!
 @brief Determines whether a character is a breaking whitespace (that is, a whitespace
  which can be interpreted as a break between words for formatting purposes).See
  <code>whitespace</code> for a discussion of that term.
 @since 2.0
 */
inline ComGoogleCommonBaseCharMatcher *ComGoogleCommonBaseCharMatcher_get_BREAKING_WHITESPACE(void);
/*! INTERNAL ONLY - Use accessor function from above. */
FOUNDATION_EXPORT ComGoogleCommonBaseCharMatcher *ComGoogleCommonBaseCharMatcher_BREAKING_WHITESPACE;
J2OBJC_STATIC_FIELD_OBJ_FINAL(ComGoogleCommonBaseCharMatcher, BREAKING_WHITESPACE, ComGoogleCommonBaseCharMatcher *)

/*!
 @brief Determines whether a character is ASCII, meaning that its code point is less than
  128.
 */
inline ComGoogleCommonBaseCharMatcher *ComGoogleCommonBaseCharMatcher_get_ASCII(void);
/*! INTERNAL ONLY - Use accessor function from above. */
FOUNDATION_EXPORT ComGoogleCommonBaseCharMatcher *ComGoogleCommonBaseCharMatcher_ASCII;
J2OBJC_STATIC_FIELD_OBJ_FINAL(ComGoogleCommonBaseCharMatcher, ASCII, ComGoogleCommonBaseCharMatcher *)

/*!
 @brief Determines whether a character is a digit according to 
 <a href="http://unicode.org/cldr/utility/list-unicodeset.jsp?
 a=%5Cp%7Bdigit%7D">
  Unicode</a>.If you only care to match ASCII digits, you can use 
 <code>inRange('0', '9')</code>.
 */
inline ComGoogleCommonBaseCharMatcher *ComGoogleCommonBaseCharMatcher_get_DIGIT(void);
/*! INTERNAL ONLY - Use accessor function from above. */
FOUNDATION_EXPORT ComGoogleCommonBaseCharMatcher *ComGoogleCommonBaseCharMatcher_DIGIT;
J2OBJC_STATIC_FIELD_OBJ_FINAL(ComGoogleCommonBaseCharMatcher, DIGIT, ComGoogleCommonBaseCharMatcher *)

/*!
 @brief Determines whether a character is a digit according to 
 Java's definition.If you only care to match
  ASCII digits, you can use <code>inRange('0', '9')</code>.
 */
inline ComGoogleCommonBaseCharMatcher *ComGoogleCommonBaseCharMatcher_get_JAVA_DIGIT(void);
/*! INTERNAL ONLY - Use accessor function from above. */
FOUNDATION_EXPORT ComGoogleCommonBaseCharMatcher *ComGoogleCommonBaseCharMatcher_JAVA_DIGIT;
J2OBJC_STATIC_FIELD_OBJ_FINAL(ComGoogleCommonBaseCharMatcher, JAVA_DIGIT, ComGoogleCommonBaseCharMatcher *)

/*!
 @brief Determines whether a character is a letter according to 
 Java's definition.If you only care to
  match letters of the Latin alphabet, you can use 
 <code>inRange('a', 'z').or(inRange('A', 'Z'))</code>.
 */
inline ComGoogleCommonBaseCharMatcher *ComGoogleCommonBaseCharMatcher_get_JAVA_LETTER(void);
/*! INTERNAL ONLY - Use accessor function from above. */
FOUNDATION_EXPORT ComGoogleCommonBaseCharMatcher *ComGoogleCommonBaseCharMatcher_JAVA_LETTER;
J2OBJC_STATIC_FIELD_OBJ_FINAL(ComGoogleCommonBaseCharMatcher, JAVA_LETTER, ComGoogleCommonBaseCharMatcher *)

/*!
 @brief Determines whether a character is a letter or digit according to 
 Java's definition.
 */
inline ComGoogleCommonBaseCharMatcher *ComGoogleCommonBaseCharMatcher_get_JAVA_LETTER_OR_DIGIT(void);
/*! INTERNAL ONLY - Use accessor function from above. */
FOUNDATION_EXPORT ComGoogleCommonBaseCharMatcher *ComGoogleCommonBaseCharMatcher_JAVA_LETTER_OR_DIGIT;
J2OBJC_STATIC_FIELD_OBJ_FINAL(ComGoogleCommonBaseCharMatcher, JAVA_LETTER_OR_DIGIT, ComGoogleCommonBaseCharMatcher *)

/*!
 @brief Determines whether a character is upper case according to 
 Java's definition.
 */
inline ComGoogleCommonBaseCharMatcher *ComGoogleCommonBaseCharMatcher_get_JAVA_UPPER_CASE(void);
/*! INTERNAL ONLY - Use accessor function from above. */
FOUNDATION_EXPORT ComGoogleCommonBaseCharMatcher *ComGoogleCommonBaseCharMatcher_JAVA_UPPER_CASE;
J2OBJC_STATIC_FIELD_OBJ_FINAL(ComGoogleCommonBaseCharMatcher, JAVA_UPPER_CASE, ComGoogleCommonBaseCharMatcher *)

/*!
 @brief Determines whether a character is lower case according to 
 Java's definition.
 */
inline ComGoogleCommonBaseCharMatcher *ComGoogleCommonBaseCharMatcher_get_JAVA_LOWER_CASE(void);
/*! INTERNAL ONLY - Use accessor function from above. */
FOUNDATION_EXPORT ComGoogleCommonBaseCharMatcher *ComGoogleCommonBaseCharMatcher_JAVA_LOWER_CASE;
J2OBJC_STATIC_FIELD_OBJ_FINAL(ComGoogleCommonBaseCharMatcher, JAVA_LOWER_CASE, ComGoogleCommonBaseCharMatcher *)

/*!
 @brief Determines whether a character is an ISO control character as specified by 
 <code>Character.isISOControl(char)</code>.
 */
inline ComGoogleCommonBaseCharMatcher *ComGoogleCommonBaseCharMatcher_get_JAVA_ISO_CONTROL(void);
/*! INTERNAL ONLY - Use accessor function from above. */
FOUNDATION_EXPORT ComGoogleCommonBaseCharMatcher *ComGoogleCommonBaseCharMatcher_JAVA_ISO_CONTROL;
J2OBJC_STATIC_FIELD_OBJ_FINAL(ComGoogleCommonBaseCharMatcher, JAVA_ISO_CONTROL, ComGoogleCommonBaseCharMatcher *)

/*!
 @brief Determines whether a character is invisible; that is, if its Unicode category is
  any of SPACE_SEPARATOR, LINE_SEPARATOR, PARAGRAPH_SEPARATOR, CONTROL, FORMAT,
  SURROGATE, and PRIVATE_USE according to ICU4J.
 */
inline ComGoogleCommonBaseCharMatcher *ComGoogleCommonBaseCharMatcher_get_INVISIBLE(void);
/*! INTERNAL ONLY - Use accessor function from above. */
FOUNDATION_EXPORT ComGoogleCommonBaseCharMatcher *ComGoogleCommonBaseCharMatcher_INVISIBLE;
J2OBJC_STATIC_FIELD_OBJ_FINAL(ComGoogleCommonBaseCharMatcher, INVISIBLE, ComGoogleCommonBaseCharMatcher *)

/*!
 @brief Determines whether a character is single-width (not double-width).When in doubt,
  this matcher errs on the side of returning <code>false</code> (that is, it tends to
  assume a character is double-width).
 <p><b>Note:</b> as the reference file evolves, we will modify this constant to
  keep it up to date.
 */
inline ComGoogleCommonBaseCharMatcher *ComGoogleCommonBaseCharMatcher_get_SINGLE_WIDTH(void);
/*! INTERNAL ONLY - Use accessor function from above. */
FOUNDATION_EXPORT ComGoogleCommonBaseCharMatcher *ComGoogleCommonBaseCharMatcher_SINGLE_WIDTH;
J2OBJC_STATIC_FIELD_OBJ_FINAL(ComGoogleCommonBaseCharMatcher, SINGLE_WIDTH, ComGoogleCommonBaseCharMatcher *)

/*!
 @brief Matches any character.
 */
inline ComGoogleCommonBaseCharMatcher *ComGoogleCommonBaseCharMatcher_get_ANY(void);
/*! INTERNAL ONLY - Use accessor function from above. */
FOUNDATION_EXPORT ComGoogleCommonBaseCharMatcher *ComGoogleCommonBaseCharMatcher_ANY;
J2OBJC_STATIC_FIELD_OBJ_FINAL(ComGoogleCommonBaseCharMatcher, ANY, ComGoogleCommonBaseCharMatcher *)

/*!
 @brief Matches no characters.
 */
inline ComGoogleCommonBaseCharMatcher *ComGoogleCommonBaseCharMatcher_get_NONE(void);
/*! INTERNAL ONLY - Use accessor function from above. */
FOUNDATION_EXPORT ComGoogleCommonBaseCharMatcher *ComGoogleCommonBaseCharMatcher_NONE;
J2OBJC_STATIC_FIELD_OBJ_FINAL(ComGoogleCommonBaseCharMatcher, NONE, ComGoogleCommonBaseCharMatcher *)

FOUNDATION_EXPORT ComGoogleCommonBaseCharMatcher *ComGoogleCommonBaseCharMatcher_any(void);

FOUNDATION_EXPORT ComGoogleCommonBaseCharMatcher *ComGoogleCommonBaseCharMatcher_none(void);

FOUNDATION_EXPORT ComGoogleCommonBaseCharMatcher *ComGoogleCommonBaseCharMatcher_whitespace(void);

FOUNDATION_EXPORT ComGoogleCommonBaseCharMatcher *ComGoogleCommonBaseCharMatcher_breakingWhitespace(void);

FOUNDATION_EXPORT ComGoogleCommonBaseCharMatcher *ComGoogleCommonBaseCharMatcher_ascii(void);

FOUNDATION_EXPORT ComGoogleCommonBaseCharMatcher *ComGoogleCommonBaseCharMatcher_digit(void);

FOUNDATION_EXPORT ComGoogleCommonBaseCharMatcher *ComGoogleCommonBaseCharMatcher_javaDigit(void);

FOUNDATION_EXPORT ComGoogleCommonBaseCharMatcher *ComGoogleCommonBaseCharMatcher_javaLetter(void);

FOUNDATION_EXPORT ComGoogleCommonBaseCharMatcher *ComGoogleCommonBaseCharMatcher_javaLetterOrDigit(void);

FOUNDATION_EXPORT ComGoogleCommonBaseCharMatcher *ComGoogleCommonBaseCharMatcher_javaUpperCase(void);

FOUNDATION_EXPORT ComGoogleCommonBaseCharMatcher *ComGoogleCommonBaseCharMatcher_javaLowerCase(void);

FOUNDATION_EXPORT ComGoogleCommonBaseCharMatcher *ComGoogleCommonBaseCharMatcher_javaIsoControl(void);

FOUNDATION_EXPORT ComGoogleCommonBaseCharMatcher *ComGoogleCommonBaseCharMatcher_invisible(void);

FOUNDATION_EXPORT ComGoogleCommonBaseCharMatcher *ComGoogleCommonBaseCharMatcher_singleWidth(void);

FOUNDATION_EXPORT ComGoogleCommonBaseCharMatcher *ComGoogleCommonBaseCharMatcher_isWithChar_(jchar match);

FOUNDATION_EXPORT ComGoogleCommonBaseCharMatcher *ComGoogleCommonBaseCharMatcher_isNotWithChar_(jchar match);

FOUNDATION_EXPORT ComGoogleCommonBaseCharMatcher *ComGoogleCommonBaseCharMatcher_anyOfWithJavaLangCharSequence_(id<JavaLangCharSequence> sequence);

FOUNDATION_EXPORT ComGoogleCommonBaseCharMatcher *ComGoogleCommonBaseCharMatcher_noneOfWithJavaLangCharSequence_(id<JavaLangCharSequence> sequence);

FOUNDATION_EXPORT ComGoogleCommonBaseCharMatcher *ComGoogleCommonBaseCharMatcher_inRangeWithChar_withChar_(jchar startInclusive, jchar endInclusive);

FOUNDATION_EXPORT ComGoogleCommonBaseCharMatcher *ComGoogleCommonBaseCharMatcher_forPredicateWithComGoogleCommonBasePredicate_(id<ComGoogleCommonBasePredicate> predicate);

FOUNDATION_EXPORT void ComGoogleCommonBaseCharMatcher_init(ComGoogleCommonBaseCharMatcher *self);

J2OBJC_TYPE_LITERAL_HEADER(ComGoogleCommonBaseCharMatcher)

#endif

#if !defined (ComGoogleCommonBaseCharMatcher_Negated_) && (INCLUDE_ALL_ComGoogleCommonBaseCharMatcher || defined(INCLUDE_ComGoogleCommonBaseCharMatcher_Negated))
#define ComGoogleCommonBaseCharMatcher_Negated_

@class ComGoogleCommonBaseCharMatcher;
@class JavaUtilBitSet;
@protocol JavaLangCharSequence;

/*!
 @brief Implementation of <code>negate()</code>.
 */
@interface ComGoogleCommonBaseCharMatcher_Negated : ComGoogleCommonBaseCharMatcher {
 @public
  ComGoogleCommonBaseCharMatcher *original_;
}

#pragma mark Public

- (jint)countInWithJavaLangCharSequence:(id<JavaLangCharSequence>)sequence;

- (jboolean)matchesWithChar:(jchar)c;

- (jboolean)matchesAllOfWithJavaLangCharSequence:(id<JavaLangCharSequence>)sequence;

- (jboolean)matchesNoneOfWithJavaLangCharSequence:(id<JavaLangCharSequence>)sequence;

- (ComGoogleCommonBaseCharMatcher *)negate;

- (NSString *)description;

#pragma mark Package-Private

- (instancetype __nonnull)initWithComGoogleCommonBaseCharMatcher:(ComGoogleCommonBaseCharMatcher *)original;

- (void)setBitsWithJavaUtilBitSet:(JavaUtilBitSet *)table;

@end

J2OBJC_EMPTY_STATIC_INIT(ComGoogleCommonBaseCharMatcher_Negated)

J2OBJC_FIELD_SETTER(ComGoogleCommonBaseCharMatcher_Negated, original_, ComGoogleCommonBaseCharMatcher *)

FOUNDATION_EXPORT void ComGoogleCommonBaseCharMatcher_Negated_initWithComGoogleCommonBaseCharMatcher_(ComGoogleCommonBaseCharMatcher_Negated *self, ComGoogleCommonBaseCharMatcher *original);

FOUNDATION_EXPORT ComGoogleCommonBaseCharMatcher_Negated *new_ComGoogleCommonBaseCharMatcher_Negated_initWithComGoogleCommonBaseCharMatcher_(ComGoogleCommonBaseCharMatcher *original) NS_RETURNS_RETAINED;

FOUNDATION_EXPORT ComGoogleCommonBaseCharMatcher_Negated *create_ComGoogleCommonBaseCharMatcher_Negated_initWithComGoogleCommonBaseCharMatcher_(ComGoogleCommonBaseCharMatcher *original);

J2OBJC_TYPE_LITERAL_HEADER(ComGoogleCommonBaseCharMatcher_Negated)

#endif

#if !defined (ComGoogleCommonBaseCharMatcher_NegatedFastMatcher_) && (INCLUDE_ALL_ComGoogleCommonBaseCharMatcher || defined(INCLUDE_ComGoogleCommonBaseCharMatcher_NegatedFastMatcher))
#define ComGoogleCommonBaseCharMatcher_NegatedFastMatcher_

@class ComGoogleCommonBaseCharMatcher;

/*!
 @brief Negation of a <code>FastMatcher</code>.
 */
@interface ComGoogleCommonBaseCharMatcher_NegatedFastMatcher : ComGoogleCommonBaseCharMatcher_Negated

#pragma mark Public

- (ComGoogleCommonBaseCharMatcher *)precomputed;

#pragma mark Package-Private

- (instancetype __nonnull)initWithComGoogleCommonBaseCharMatcher:(ComGoogleCommonBaseCharMatcher *)original;

@end

J2OBJC_EMPTY_STATIC_INIT(ComGoogleCommonBaseCharMatcher_NegatedFastMatcher)

FOUNDATION_EXPORT void ComGoogleCommonBaseCharMatcher_NegatedFastMatcher_initWithComGoogleCommonBaseCharMatcher_(ComGoogleCommonBaseCharMatcher_NegatedFastMatcher *self, ComGoogleCommonBaseCharMatcher *original);

FOUNDATION_EXPORT ComGoogleCommonBaseCharMatcher_NegatedFastMatcher *new_ComGoogleCommonBaseCharMatcher_NegatedFastMatcher_initWithComGoogleCommonBaseCharMatcher_(ComGoogleCommonBaseCharMatcher *original) NS_RETURNS_RETAINED;

FOUNDATION_EXPORT ComGoogleCommonBaseCharMatcher_NegatedFastMatcher *create_ComGoogleCommonBaseCharMatcher_NegatedFastMatcher_initWithComGoogleCommonBaseCharMatcher_(ComGoogleCommonBaseCharMatcher *original);

J2OBJC_TYPE_LITERAL_HEADER(ComGoogleCommonBaseCharMatcher_NegatedFastMatcher)

#endif

#if !defined (ComGoogleCommonBaseCharMatcher_FastMatcher_) && (INCLUDE_ALL_ComGoogleCommonBaseCharMatcher || defined(INCLUDE_ComGoogleCommonBaseCharMatcher_FastMatcher))
#define ComGoogleCommonBaseCharMatcher_FastMatcher_

@class ComGoogleCommonBaseCharMatcher;

/*!
 @brief A matcher for which precomputation will not yield any significant benefit.
 */
@interface ComGoogleCommonBaseCharMatcher_FastMatcher : ComGoogleCommonBaseCharMatcher

#pragma mark Public

- (ComGoogleCommonBaseCharMatcher *)negate;

- (ComGoogleCommonBaseCharMatcher *)precomputed;

#pragma mark Package-Private

- (instancetype __nonnull)init;

@end

J2OBJC_EMPTY_STATIC_INIT(ComGoogleCommonBaseCharMatcher_FastMatcher)

FOUNDATION_EXPORT void ComGoogleCommonBaseCharMatcher_FastMatcher_init(ComGoogleCommonBaseCharMatcher_FastMatcher *self);

J2OBJC_TYPE_LITERAL_HEADER(ComGoogleCommonBaseCharMatcher_FastMatcher)

#endif

#if !defined (ComGoogleCommonBaseCharMatcher_NamedFastMatcher_) && (INCLUDE_ALL_ComGoogleCommonBaseCharMatcher || defined(INCLUDE_ComGoogleCommonBaseCharMatcher_NamedFastMatcher))
#define ComGoogleCommonBaseCharMatcher_NamedFastMatcher_

/*!
 @brief <code>FastMatcher</code> which overrides <code>toString()</code> with a custom name.
 */
@interface ComGoogleCommonBaseCharMatcher_NamedFastMatcher : ComGoogleCommonBaseCharMatcher_FastMatcher

#pragma mark Public

- (NSString *)description;

#pragma mark Package-Private

- (instancetype __nonnull)initWithNSString:(NSString *)description_;

@end

J2OBJC_EMPTY_STATIC_INIT(ComGoogleCommonBaseCharMatcher_NamedFastMatcher)

FOUNDATION_EXPORT void ComGoogleCommonBaseCharMatcher_NamedFastMatcher_initWithNSString_(ComGoogleCommonBaseCharMatcher_NamedFastMatcher *self, NSString *description_);

J2OBJC_TYPE_LITERAL_HEADER(ComGoogleCommonBaseCharMatcher_NamedFastMatcher)

#endif

#if !defined (ComGoogleCommonBaseCharMatcher_Whitespace_) && (INCLUDE_ALL_ComGoogleCommonBaseCharMatcher || defined(INCLUDE_ComGoogleCommonBaseCharMatcher_Whitespace))
#define ComGoogleCommonBaseCharMatcher_Whitespace_

@class JavaUtilBitSet;

/*!
 @brief Implementation of <code>whitespace()</code>.
 */
@interface ComGoogleCommonBaseCharMatcher_Whitespace : ComGoogleCommonBaseCharMatcher_NamedFastMatcher
@property (readonly, copy, class) NSString *TABLE NS_SWIFT_NAME(TABLE);
@property (readonly, class) jint MULTIPLIER NS_SWIFT_NAME(MULTIPLIER);
@property (readonly, class) jint SHIFT NS_SWIFT_NAME(SHIFT);
@property (readonly, class, strong) ComGoogleCommonBaseCharMatcher_Whitespace *INSTANCE NS_SWIFT_NAME(INSTANCE);

+ (NSString *)TABLE;

+ (jint)MULTIPLIER;

+ (jint)SHIFT;

+ (ComGoogleCommonBaseCharMatcher_Whitespace *)INSTANCE;

#pragma mark Public

- (jboolean)matchesWithChar:(jchar)c;

#pragma mark Package-Private

- (instancetype __nonnull)init;

- (void)setBitsWithJavaUtilBitSet:(JavaUtilBitSet *)table;

// Disallowed inherited constructors, do not use.

- (instancetype __nonnull)initWithNSString:(NSString *)arg0 NS_UNAVAILABLE;

@end

J2OBJC_STATIC_INIT(ComGoogleCommonBaseCharMatcher_Whitespace)

inline NSString *ComGoogleCommonBaseCharMatcher_Whitespace_get_TABLE(void);
/*! INTERNAL ONLY - Use accessor function from above. */
FOUNDATION_EXPORT NSString *ComGoogleCommonBaseCharMatcher_Whitespace_TABLE;
J2OBJC_STATIC_FIELD_OBJ_FINAL(ComGoogleCommonBaseCharMatcher_Whitespace, TABLE, NSString *)

inline jint ComGoogleCommonBaseCharMatcher_Whitespace_get_MULTIPLIER(void);
#define ComGoogleCommonBaseCharMatcher_Whitespace_MULTIPLIER 1682554634
J2OBJC_STATIC_FIELD_CONSTANT(ComGoogleCommonBaseCharMatcher_Whitespace, MULTIPLIER, jint)

inline jint ComGoogleCommonBaseCharMatcher_Whitespace_get_SHIFT(void);
/*! INTERNAL ONLY - Use accessor function from above. */
FOUNDATION_EXPORT jint ComGoogleCommonBaseCharMatcher_Whitespace_SHIFT;
J2OBJC_STATIC_FIELD_PRIMITIVE_FINAL(ComGoogleCommonBaseCharMatcher_Whitespace, SHIFT, jint)

inline ComGoogleCommonBaseCharMatcher_Whitespace *ComGoogleCommonBaseCharMatcher_Whitespace_get_INSTANCE(void);
/*! INTERNAL ONLY - Use accessor function from above. */
FOUNDATION_EXPORT ComGoogleCommonBaseCharMatcher_Whitespace *ComGoogleCommonBaseCharMatcher_Whitespace_INSTANCE;
J2OBJC_STATIC_FIELD_OBJ_FINAL(ComGoogleCommonBaseCharMatcher_Whitespace, INSTANCE, ComGoogleCommonBaseCharMatcher_Whitespace *)

FOUNDATION_EXPORT void ComGoogleCommonBaseCharMatcher_Whitespace_init(ComGoogleCommonBaseCharMatcher_Whitespace *self);

FOUNDATION_EXPORT ComGoogleCommonBaseCharMatcher_Whitespace *new_ComGoogleCommonBaseCharMatcher_Whitespace_init(void) NS_RETURNS_RETAINED;

FOUNDATION_EXPORT ComGoogleCommonBaseCharMatcher_Whitespace *create_ComGoogleCommonBaseCharMatcher_Whitespace_init(void);

J2OBJC_TYPE_LITERAL_HEADER(ComGoogleCommonBaseCharMatcher_Whitespace)

#endif


#if __has_feature(nullability)
#pragma clang diagnostic pop
#endif

#pragma clang diagnostic pop
#pragma pop_macro("INCLUDE_ALL_ComGoogleCommonBaseCharMatcher")
