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 00021 #include "unicode/utypes.h" 00022 00023 #if !UCONFIG_NO_FORMATTING 00024 00025 #include "unicode/locid.h" 00026 #include "unicode/ugender.h" 00027 #include "unicode/uobject.h" 00028 00029 class GenderInfoTest; 00030 00031 U_NAMESPACE_BEGIN 00032 00033 // Forward Declaration 00034 void U_CALLCONV GenderInfo_initCache(UErrorCode &status); 00035 00041 class U_I18N_API GenderInfo : public UObject { 00042 public: 00043 00058 static const GenderInfo* U_EXPORT2 getInstance(const Locale& locale, UErrorCode& status); 00059 00071 UGender getListGender(const UGender* genders, int32_t length, UErrorCode& status) const; 00072 00078 virtual ~GenderInfo(); 00079 00080 private: 00081 int32_t _style; 00082 00087 GenderInfo(const GenderInfo& other); 00088 00092 GenderInfo& operator=(const GenderInfo&); 00093 00094 GenderInfo(); 00095 00096 static const GenderInfo* getNeutralInstance(); 00097 00098 static const GenderInfo* getMixedNeutralInstance(); 00099 00100 static const GenderInfo* getMaleTaintsInstance(); 00101 00102 static const GenderInfo* loadInstance(const Locale& locale, UErrorCode& status); 00103 00104 friend class ::GenderInfoTest; 00105 friend void U_CALLCONV GenderInfo_initCache(UErrorCode &status); 00106 }; 00107 00108 U_NAMESPACE_END 00109 00110 #endif /* #if !UCONFIG_NO_FORMATTING */ 00111 00112 #endif // _GENDER 00113 //eof
1.6.1