00001 // © 2016 and later: Unicode, Inc. and others. 00002 // License & terms of use: http://www.unicode.org/copyright.html 00003 /* 00004 ******************************************************************************* 00005 * Copyright (C) 2008-2013, International Business Machines Corporation and 00006 * others. All Rights Reserved. 00007 ******************************************************************************* 00008 * 00009 * 00010 * File GENDER.H 00011 * 00012 * Modification History:* 00013 * Date Name Description 00014 * 00015 ******************************************************************************** 00016 */ 00017 00018 #ifndef _GENDER 00019 #define _GENDER 00020 00026 #include "unicode/utypes.h" 00027 00028 #if !UCONFIG_NO_FORMATTING 00029 00030 #include "unicode/locid.h" 00031 #include "unicode/ugender.h" 00032 #include "unicode/uobject.h" 00033 00034 class GenderInfoTest; 00035 00036 U_NAMESPACE_BEGIN 00037 00039 void U_CALLCONV GenderInfo_initCache(UErrorCode &status); 00040 00046 class U_I18N_API GenderInfo : public UObject { 00047 public: 00048 00063 static const GenderInfo* U_EXPORT2 getInstance(const Locale& locale, UErrorCode& status); 00064 00076 UGender getListGender(const UGender* genders, int32_t length, UErrorCode& status) const; 00077 00083 virtual ~GenderInfo(); 00084 00085 private: 00086 int32_t _style; 00087 00092 GenderInfo(const GenderInfo& other); 00093 00097 GenderInfo& operator=(const GenderInfo&); 00098 00099 GenderInfo(); 00100 00101 static const GenderInfo* getNeutralInstance(); 00102 00103 static const GenderInfo* getMixedNeutralInstance(); 00104 00105 static const GenderInfo* getMaleTaintsInstance(); 00106 00107 static const GenderInfo* loadInstance(const Locale& locale, UErrorCode& status); 00108 00109 friend class ::GenderInfoTest; 00110 friend void U_CALLCONV GenderInfo_initCache(UErrorCode &status); 00111 }; 00112 00113 U_NAMESPACE_END 00114 00115 #endif /* #if !UCONFIG_NO_FORMATTING */ 00116 00117 #endif // _GENDER 00118 //eof
1.6.1