ICU 51.2  51.2
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 #ifndef U_HIDE_DRAFT_API
23 
24 #include "unicode/locid.h"
25 #include "unicode/ugender.h"
26 #include "unicode/uobject.h"
27 
28 class GenderInfoTest;
29 
31 
37 class U_I18N_API GenderInfo : public UObject {
38 public:
39 
54  static const GenderInfo* U_EXPORT2 getInstance(const Locale& locale, UErrorCode& status);
55 
67  UGender getListGender(const UGender* genders, int32_t length, UErrorCode& status) const;
68 
74  virtual ~GenderInfo();
75 
76 private:
77  int32_t _style;
78 
83  GenderInfo(const GenderInfo& other);
84 
88  GenderInfo& operator=(const GenderInfo&);
89 
90  GenderInfo();
91 
92  static const GenderInfo* getNeutralInstance();
93 
94  static const GenderInfo* getMixedNeutralInstance();
95 
96  static const GenderInfo* getMaleTaintsInstance();
97 
98  static const GenderInfo* loadInstance(const Locale& locale, UErrorCode& status);
99  friend class ::GenderInfoTest;
100 };
101 
103 
104 #endif /* U_HIDE_DRAFT_API */
105 #endif /* #if !UCONFIG_NO_FORMATTING */
106 
107 #endif // _GENDER
108 //eof