luxlabs header browser preview


@class NSMutableDictionary, NSCache, TSUDateParserLibrary, NSLocale, NSTimeZone, NSMutableArray, NSString, NSRecursiveLock, TSUDecimalFormatter, NSArray, NSLock, TSUFormattingSymbols;

@interface TSULocale : TSUPermanentObject {
    NSString *_cacheKey;
    struct TSUNumberOrDateLexer { NSString *_decimalSeparator; NSString *_currencyDecimalSeparator; NSString *_groupingSeparator; NSString *_currencyGroupingSeparator; NSString *_percentSymbol; unsigned short _decSep; unsigned short _currDecSep; unsigned short _groupSep; unsigned short _currGroupSep; unsigned short _percentSym; unsigned short _alternateDecSep; unsigned short _alternateGroupSep; unsigned short _alternatePercentSym; BOOL _checkedForAlternateSeparators; struct TSUIndexSet { unsigned char _isEmpty : 1; unsigned char _hasSingleRange : 1; struct TSUIndexRange { long long _begin; long long _end; } _singleRange; struct *_multipleRanges; } _dateSeps; unsigned short _timeSep; struct TSUIndexSet { unsigned char _isEmpty : 1; unsigned char _hasSingleRange : 1; struct TSUIndexRange { long long _begin; long long _end; } _singleRange; struct *_multipleRanges; } _additionalIdentChars; struct TSUIndexSet { unsigned char _isEmpty : 1; unsigned char _hasSingleRange : 1; struct TSUIndexRange { long long _begin; long long _end; } _singleRange; struct *_multipleRanges; } _identStartChars; struct unordered_map<NSString *, unsigned long long, std::hash<NSString *>, std::equal_to<NSString *>, std::allocator<std::pair<NSString *const, unsigned long long>>> { struct __hash_table<std::__hash_value_type<NSString *, unsigned long long>, std::__unordered_map_hasher<NSString *, std::__hash_value_type<NSString *, unsigned long long>, std::hash<NSString *>, std::equal_to<NSString *>>, std::__unordered_map_equal<NSString *, std::__hash_value_type<NSString *, unsigned long long>, std::equal_to<NSString *>, std::hash<NSString *>>, std::allocator<std::__hash_value_type<NSString *, unsigned long long>>> { struct unique_ptr<std::__hash_node_base<std::__hash_node<std::__hash_value_type<NSString *, unsigned long long>, void *> *> *[], std::__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<NSString *, unsigned long long>, void *> *> *>>> { struct __compressed_pair<std::__hash_node_base<std::__hash_node<std::__hash_value_type<NSString *, unsigned long long>, void *> *> **, std::__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<NSString *, unsigned long long>, void *> *> *>>> { void **__value_; struct __bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<NSString *, unsigned long long>, void *> *> *>> { struct __compressed_pair<unsigned long, std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<NSString *, unsigned long long>, void *> *> *>> { unsigned long long __value_; } __data_; } __value_; } __ptr_; } __bucket_list_; struct __compressed_pair<std::__hash_node_base<std::__hash_node<std::__hash_value_type<NSString *, unsigned long long>, void *> *>, std::allocator<std::__hash_node<std::__hash_value_type<NSString *, unsigned long long>, void *>>> { struct __hash_node_base<std::__hash_node<std::__hash_value_type<NSString *, unsigned long long>, void *> *> { void *__next_; } __value_; } __p1_; struct __compressed_pair<unsigned long, std::__unordered_map_hasher<NSString *, std::__hash_value_type<NSString *, unsigned long long>, std::hash<NSString *>, std::equal_to<NSString *>>> { unsigned long long __value_; } __p2_; struct __compressed_pair<float, std::__unordered_map_equal<NSString *, std::__hash_value_type<NSString *, unsigned long long>, std::equal_to<NSString *>, std::hash<NSString *>>> { float __value_; } __p3_; } __table_; } _identifierToClassificationMap; struct unordered_map<unsigned short, std::vector<NSString *>, std::hash<unsigned short>, std::equal_to<unsigned short>, std::allocator<std::pair<const unsigned short, std::vector<NSString *>>>> { struct __hash_table<std::__hash_value_type<unsigned short, std::vector<NSString *>>, std::__unordered_map_hasher<unsigned short, std::__hash_value_type<unsigned short, std::vector<NSString *>>, std::hash<unsigned short>, std::equal_to<unsigned short>>, std::__unordered_map_equal<unsigned short, std::__hash_value_type<unsigned short, std::vector<NSString *>>, std::equal_to<unsigned short>, std::hash<unsigned short>>, std::allocator<std::__hash_value_type<unsigned short, std::vector<NSString *>>>> { struct unique_ptr<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned short, std::vector<NSString *>>, void *> *> *[], std::__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned short, std::vector<NSString *>>, void *> *> *>>> { struct __compressed_pair<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned short, std::vector<NSString *>>, void *> *> **, std::__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned short, std::vector<NSString *>>, void *> *> *>>> { void **__value_; struct __bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned short, std::vector<NSString *>>, void *> *> *>> { struct __compressed_pair<unsigned long, std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned short, std::vector<NSString *>>, void *> *> *>> { unsigned long long __value_; } __data_; } __value_; } __ptr_; } __bucket_list_; struct __compressed_pair<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned short, std::vector<NSString *>>, void *> *>, std::allocator<std::__hash_node<std::__hash_value_type<unsigned short, std::vector<NSString *>>, void *>>> { struct __hash_node_base<std::__hash_node<std::__hash_value_type<unsigned short, std::vector<NSString *>>, void *> *> { void *__next_; } __value_; } __p1_; struct __compressed_pair<unsigned long, std::__unordered_map_hasher<unsigned short, std::__hash_value_type<unsigned short, std::vector<NSString *>>, std::hash<unsigned short>, std::equal_to<unsigned short>>> { unsigned long long __value_; } __p2_; struct __compressed_pair<float, std::__unordered_map_equal<unsigned short, std::__hash_value_type<unsigned short, std::vector<NSString *>>, std::equal_to<unsigned short>, std::hash<unsigned short>>> { float __value_; } __p3_; } __table_; } _identifiersForStartChar; unsigned long long _maxIdentifierLength; struct unordered_map<unsigned short, TSUNumerAndDenom, std::hash<unsigned short>, std::equal_to<unsigned short>, std::allocator<std::pair<const unsigned short, TSUNumerAndDenom>>> { struct __hash_table<std::__hash_value_type<unsigned short, TSUNumerAndDenom>, std::__unordered_map_hasher<unsigned short, std::__hash_value_type<unsigned short, TSUNumerAndDenom>, std::hash<unsigned short>, std::equal_to<unsigned short>>, std::__unordered_map_equal<unsigned short, std::__hash_value_type<unsigned short, TSUNumerAndDenom>, std::equal_to<unsigned short>, std::hash<unsigned short>>, std::allocator<std::__hash_value_type<unsigned short, TSUNumerAndDenom>>> { struct unique_ptr<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned short, TSUNumerAndDenom>, void *> *> *[], std::__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned short, TSUNumerAndDenom>, void *> *> *>>> { struct __compressed_pair<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned short, TSUNumerAndDenom>, void *> *> **, std::__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned short, TSUNumerAndDenom>, void *> *> *>>> { void **__value_; struct __bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned short, TSUNumerAndDenom>, void *> *> *>> { struct __compressed_pair<unsigned long, std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned short, TSUNumerAndDenom>, void *> *> *>> { unsigned long long __value_; } __data_; } __value_; } __ptr_; } __bucket_list_; struct __compressed_pair<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned short, TSUNumerAndDenom>, void *> *>, std::allocator<std::__hash_node<std::__hash_value_type<unsigned short, TSUNumerAndDenom>, void *>>> { struct __hash_node_base<std::__hash_node<std::__hash_value_type<unsigned short, TSUNumerAndDenom>, void *> *> { void *__next_; } __value_; } __p1_; struct __compressed_pair<unsigned long, std::__unordered_map_hasher<unsigned short, std::__hash_value_type<unsigned short, TSUNumerAndDenom>, std::hash<unsigned short>, std::equal_to<unsigned short>>> { unsigned long long __value_; } __p2_; struct __compressed_pair<float, std::__unordered_map_equal<unsigned short, std::__hash_value_type<unsigned short, TSUNumerAndDenom>, std::equal_to<unsigned short>, std::hash<unsigned short>>> { float __value_; } __p3_; } __table_; } _vulgarFractionMap; BOOL _loadInDateTimeSymbols; NSString *_localeIdentifier; } _numberOrDateLexer;
    struct _opaque_pthread_mutex_t { long long __sig; char __opaque[56]; } _formattersMutex;
    NSMutableArray *_numberFormatters;
    NSMutableArray *_scientificNumberFormatters;
    NSLock *_numberFormatterStringFromDoubleWithFormatLock;
    TSUDecimalFormatter *_plainFormatter;
    TSUDecimalFormatter *_noMinusSignPlainFormatter;
    TSUDecimalFormatter *_currencyFormatter;
    TSUDecimalFormatter *_noMinusSignCurrencyFormatter;
    NSString *_activeCurrencyCode;
    NSString *_activeNoMinusSignCurrencyCode;
    NSLock *_localeSpecificStorageLock;
    NSMutableDictionary *_localeSpecificStorage;
    NSCache *_cachedLocalizedStrings;
    NSRecursiveLock *_icuDateBlockUsingLock;
}

@property (class, readonly, nonatomic) TSULocale *currentLocale;
@property (class, readonly, nonatomic) TSULocale *preferredLocale;
@property (class, readonly, copy, nonatomic) NSLocale *applicationLocale;
@property (class, readonly, nonatomic) TSULocale *usEnglishLocale;

@property (readonly) NSLocale *locale;
@property (readonly) struct __CFLocale { } *cfLocale;
@property (readonly) NSLocale *gregorianCalendarLocale;
@property (readonly) struct __CFLocale { } *cfGregorianCalendarLocale;
@property (readonly) NSString *languageCode;
@property (readonly) NSString *localeIdentifier;
@property (readonly) NSString *documentLanguageIdentifier;
@property (readonly, nonatomic) TSUFormattingSymbols *formattingSymbols;
@property (readonly) NSString *cacheKey;
@property (readonly) BOOL isAutoUpdating;
@property (readonly) NSString *numberingSystem;
@property (readonly) NSString *decimalSeparator;
@property (readonly) NSString *groupingSeparator;
@property (readonly) NSString *minusSign;
@property (readonly) NSString *listSeparator;
@property (readonly) NSString *percentSymbol;
@property (readonly) unsigned long long groupingSize;
@property (readonly) NSString *currencyCode;
@property (readonly) long long dateComponentOrdering;
@property (readonly) NSArray *standaloneMonthSymbols;
@property (readonly) NSArray *standaloneWeekdaySymbols;
@property (readonly) NSArray *shortStandaloneMonthSymbols;
@property (readonly) NSArray *shortStandaloneWeekdaySymbols;
@property (readonly) NSString *amString;
@property (readonly) NSString *pmString;
@property (readonly) BOOL uses24HourTimeCycle;
@property (readonly) NSString *trueString;
@property (readonly) NSString *falseString;
@property (readonly) TSUDateParserLibrary *dateParserLibrary;
@property (readonly) NSTimeZone *timeZone;
@property (readonly) BOOL currencyUsesRightToLeftWritingDirection;
@property (readonly, nonatomic) const void *numberOrDateLexer;

+ (id)preferredLanguages;
+ (void)initialize;
+ (id)availableCurrencyCodes;
+ (id)currencySymbolForCurrencyCode:(id)a0;
+ (id)currentLocaleCurrencyCode;
+ (unsigned short)defaultDecimalPlacesForCurrencyCode:(id)a0;
+ (id)displayNameForCurrencyCode:(id)a0;
+ (id)userVisibleCurrencyCodes;
+ (id)canonicalizeLocaleIdentifierWithLanguageAndScriptOnly:(id)a0;
+ (id)canonicalizeLocaleIdentifierWithLanguageOnly:(id)a0;
+ (id)canonicalizeLocaleIdentifierWithLanguageScriptAndRegionOnly:(id)a0;
+ (id)allSupportedTemplatePickerLanguages;
+ (id)allSupportedTier1Languages;
+ (id)allSupportedTier3Languages;
+ (unsigned long long)autoupdatingCurrentLocaleChangeCount;
+ (id)canonicalizeLocaleIdentifier:(id)a0;
+ (id)canonicalizeLocaleIdentifierWithLanguageAndRegionOnly:(id)a0;
+ (id)deducedScriptForLocale:(id)a0;
+ (id)displayNameForCode:(id)a0 ofType:(id)a1 displayStandalone:(BOOL)a2;
+ (id)localeIDWithDefaultRegionCode:(id)a0;
+ (id)localeIDWithoutDefaultRegionCode:(id)a0 avoidAmbiguousCases:(BOOL)a1;
+ (BOOL)localeIsAutoUpdating:(id)a0;
+ (void)saveLocaleForReuse:(id)a0;
+ (void)setLocalizedStringBundle:(struct __CFBundle { } *)a0;
+ (id)simplifiedDisplayNameForLocaleID:(id)a0 displayStandalone:(BOOL)a1;
+ (id)formattedForDollarFunction:(const struct TSUDecimal { struct { unsigned long long x0[2]; } x0; } *)a0 precision:(int)a1 forLocale:(id)a2;
+ (BOOL)isValidCurrencyCode:(id)a0;
+ (id)localeForLocaleIdentifier:(id)a0 documentLanguageIdentifier:(id)a1 formattingSymbolsVersion:(id)a2;
+ (id)regionSubtagAwareComponentsFromLocaleIdentifier:(id)a0;
+ (id)sanitizedLocaleIdentifierForIdentifier:(id)a0;

- (unsigned long long)hash;
- (void)dealloc;
- (id)initWithLocale:(id)a0;
- (id).cxx_construct;
- (id)localizedStringForKey:(id)a0 value:(id)a1 table:(id)a2;
- (id)description;
- (void).cxx_destruct;
- (BOOL)isEqual:(id)a0;
- (id)URLForResource:(id)a0 withExtension:(id)a1 subdirectory:(id)a2 inBundleWithURL:(id)a3;
- (id)URLForResource:(id)a0 withExtension:(id)a1 subdirectory:(id)a2;
- (id)localizedStringWithFormat:(id)a0;
- (id)currencySymbolForCurrencyCode:(id)a0;
- (id)displayNameForCurrencyCode:(id)a0;
- (BOOL)localizedCaseInsensitiveIsEqual:(id)a0 toString:(id)a1;
- (BOOL)isLanguageCharacterDirectionRightToLeft;
- (id)URLForResource:(id)a0 withExtension:(id)a1 subdirectory:(id)a2 inBundle:(struct __CFBundle { } *)a3;
- (id)initWithLocale:(id)a0 documentLanguageIdentifier:(id)a1;
- (void)_initializeNumberFormatterStringFromDoubleCache;
- (unsigned long long)autoupdatingCurrentLocaleChangeCount;
- (id)checkoutNumberFormatter;
- (id)checkoutScientificNumberFormatter;
- (id)copyWithDocumentLanguageIdentifier:(id)a0;
- (id)displayLanguageNameWithStandalone:(BOOL)a0;
- (id)localeIdentifierWithLanguageAndRegionOnly;
- (id)localeIdentifierWithLanguageScriptAndRegionOnly;
- (id)localeSpecificStorageForKey:(id)a0;
- (long long)localizedCaseInsensitiveCompare:(id)a0 toString:(id)a1;
- (long long)localizedCompare:(id)a0 toString:(id)a1;
- (id)numberFormatterStringFromDouble:(double)a0 withFormat:(id)a1 useDecimalPlaces:(BOOL)a2 minDecimalPlaces:(unsigned short)a3 decimalPlaces:(unsigned short)a4 showThousandsSeparator:(BOOL)a5 currencyCode:(id)a6 suppressMinusSign:(BOOL)a7;
- (void)returnNumberFormatter:(id)a0;
- (void)returnScientificNumberFormatter:(id)a0;
- (void)setLocaleSpecificStorage:(id)a0 forKey:(id)a1;
- (id)simplifiedDisplayNameWithStandalone:(BOOL)a0;
- (id)createHarmonizedDecimalFormatterOfStyle:(long long)a0;
- (id)currencyCodeForCurrencySymbol:(id)a0;
- (BOOL)isEqualViaFormattingAsDouble:(double)a0 :(double)a1;
- (BOOL)isLanguageFormulasDirectionRightToLeft;
- (id)copyWithGregorianCalendar;
- (id)displayNameWithCurrencySymbolForCurrencyCode:(id)a0 standardizeWhitespace:(BOOL)a1;
- (id)initWithLocale:(id)a0 documentLanguageIdentifier:(id)a1 formattingSymbols:(id)a2;
- (id)initWithLocale:(id)a0 documentLanguageIdentifier:(id)a1 useAutoupdating:(BOOL)a2 formattingSymbols:(id)a3;
- (id)initWithLocale:(id)a0 formattingSymbols:(id)a1;
- (id)languageIdentifierWithLanguageAndRegionOnly;
- (id)localeIdentifierWithCalendarAndNumberingSystem;
- (void)performICUDateUsingBlock:(id /* block */)a0;

@end