ICU 73.2  73.2
gender.h
Go to the documentation of this file.
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 U_SHOW_CPLUSPLUS_API
00029 
00030 #if !UCONFIG_NO_FORMATTING
00031 
00032 #include "unicode/locid.h"
00033 #include "unicode/ugender.h"
00034 #include "unicode/uobject.h"
00035 
00036 class GenderInfoTest;
00037 
00038 U_NAMESPACE_BEGIN
00039 
00041 void U_CALLCONV GenderInfo_initCache(UErrorCode &status);
00042 
00048 class U_I18N_API GenderInfo : public UObject {
00049 public:
00050 
00065     static const GenderInfo* U_EXPORT2 getInstance(const Locale& locale, UErrorCode& status);
00066 
00078     UGender getListGender(const UGender* genders, int32_t length, UErrorCode& status) const;
00079 
00085     virtual ~GenderInfo();
00086 
00087 private:
00088     int32_t _style;
00089 
00094     GenderInfo(const GenderInfo& other) = delete;
00095 
00099     GenderInfo& operator=(const GenderInfo&) = delete;
00100 
00101     GenderInfo();
00102 
00103     static const GenderInfo* getNeutralInstance();
00104 
00105     static const GenderInfo* getMixedNeutralInstance();
00106 
00107     static const GenderInfo* getMaleTaintsInstance();
00108 
00109     static const GenderInfo* loadInstance(const Locale& locale, UErrorCode& status);
00110 
00111     friend class ::GenderInfoTest;
00112     friend void U_CALLCONV GenderInfo_initCache(UErrorCode &status);
00113 };
00114 
00115 U_NAMESPACE_END
00116 
00117 #endif /* #if !UCONFIG_NO_FORMATTING */
00118 
00119 #endif /* U_SHOW_CPLUSPLUS_API */
00120 
00121 #endif // _GENDER
00122 //eof