00001 /* 00002 ******************************************************************************* 00003 * Copyright (C) 2008-2013, International Business Machines Corporation and 00004 * others. All Rights Reserved. 00005 ******************************************************************************* 00006 * 00007 * 00008 * File GENDER.H 00009 * 00010 * Modification History:* 00011 * Date Name Description 00012 * 00013 ******************************************************************************** 00014 */ 00015 00016 #ifndef _GENDER 00017 #define _GENDER 00018 00019 #include "unicode/utypes.h" 00020 00021 #if !UCONFIG_NO_FORMATTING 00022 00023 #include "unicode/locid.h" 00024 #include "unicode/ugender.h" 00025 #include "unicode/uobject.h" 00026 00027 class GenderInfoTest; 00028 00029 U_NAMESPACE_BEGIN 00030 00031 // Forward Declaration 00032 void U_CALLCONV GenderInfo_initCache(UErrorCode &status); 00033 00039 class U_I18N_API GenderInfo : public UObject { 00040 public: 00041 00056 static const GenderInfo* U_EXPORT2 getInstance(const Locale& locale, UErrorCode& status); 00057 00069 UGender getListGender(const UGender* genders, int32_t length, UErrorCode& status) const; 00070 00076 virtual ~GenderInfo(); 00077 00078 private: 00079 int32_t _style; 00080 00085 GenderInfo(const GenderInfo& other); 00086 00090 GenderInfo& operator=(const GenderInfo&); 00091 00092 GenderInfo(); 00093 00094 static const GenderInfo* getNeutralInstance(); 00095 00096 static const GenderInfo* getMixedNeutralInstance(); 00097 00098 static const GenderInfo* getMaleTaintsInstance(); 00099 00100 static const GenderInfo* loadInstance(const Locale& locale, UErrorCode& status); 00101 00102 friend class ::GenderInfoTest; 00103 friend void U_CALLCONV GenderInfo_initCache(UErrorCode &status); 00104 }; 00105 00106 U_NAMESPACE_END 00107 00108 #endif /* #if !UCONFIG_NO_FORMATTING */ 00109 00110 #endif // _GENDER 00111 //eof
1.6.1