ICU 56.1  56.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
gender.h
1 /*
2 *******************************************************************************
3 * Copyright (C) 2008-2013, International Business Machines Corporation and
4 * others. All Rights Reserved.
5 *******************************************************************************
6 *
7 *
8 * File GENDER.H
9 *
10 * Modification History:*
11 * Date Name Description
12 *
13 ********************************************************************************
14 */
15 
16 #ifndef _GENDER
17 #define _GENDER
18 
19 #include "unicode/utypes.h"
20 
21 #if !UCONFIG_NO_FORMATTING
22 
23 #include "unicode/locid.h"
24 #include "unicode/ugender.h"
25 #include "unicode/uobject.h"
26 
27 class GenderInfoTest;
28 
30 
31 // Forward Declaration
32 void U_CALLCONV GenderInfo_initCache(UErrorCode &status);
33 
39 class U_I18N_API GenderInfo : public UObject {
40 public:
41 
56  static const GenderInfo* U_EXPORT2 getInstance(const Locale& locale, UErrorCode& status);
57 
69  UGender getListGender(const UGender* genders, int32_t length, UErrorCode& status) const;
70 
76  virtual ~GenderInfo();
77 
78 private:
79  int32_t _style;
80 
85  GenderInfo(const GenderInfo& other);
86 
90  GenderInfo& operator=(const GenderInfo&);
91 
92  GenderInfo();
93 
94  static const GenderInfo* getNeutralInstance();
95 
96  static const GenderInfo* getMixedNeutralInstance();
97 
98  static const GenderInfo* getMaleTaintsInstance();
99 
100  static const GenderInfo* loadInstance(const Locale& locale, UErrorCode& status);
101 
102  friend class ::GenderInfoTest;
103  friend void U_CALLCONV GenderInfo_initCache(UErrorCode &status);
104 };
105 
107 
108 #endif /* #if !UCONFIG_NO_FORMATTING */
109 
110 #endif // _GENDER
111 //eof