ICU 77.1  77.1
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
gender.h
Go to the documentation of this file.
1 // © 2016 and later: Unicode, Inc. and others.
2 // License & terms of use: http://www.unicode.org/copyright.html
3 /*
4 *******************************************************************************
5 * Copyright (C) 2008-2013, International Business Machines Corporation and
6 * others. All Rights Reserved.
7 *******************************************************************************
8 *
9 *
10 * File GENDER.H
11 *
12 * Modification History:*
13 * Date Name Description
14 *
15 ********************************************************************************
16 */
17 
18 #ifndef _GENDER
19 #define _GENDER
20 
26 #include "unicode/utypes.h"
27 
28 #if U_SHOW_CPLUSPLUS_API
29 
30 #if !UCONFIG_NO_FORMATTING
31 
32 #include "unicode/locid.h"
33 #include "unicode/ugender.h"
34 #include "unicode/uobject.h"
35 
36 class GenderInfoTest;
37 
38 U_NAMESPACE_BEGIN
39 
42 
48 class U_I18N_API GenderInfo : public UObject {
49 public:
50 
65  static const GenderInfo* U_EXPORT2 getInstance(const Locale& locale, UErrorCode& status);
66 
78  UGender getListGender(const UGender* genders, int32_t length, UErrorCode& status) const;
79 
85  virtual ~GenderInfo();
86 
87 private:
88  int32_t _style;
89 
94  GenderInfo(const GenderInfo& other) = delete;
95 
99  GenderInfo& operator=(const GenderInfo&) = delete;
100 
101  GenderInfo();
102 
103  static const GenderInfo* getNeutralInstance();
104 
105  static const GenderInfo* getMixedNeutralInstance();
106 
107  static const GenderInfo* getMaleTaintsInstance();
108 
109  static const GenderInfo* loadInstance(const Locale& locale, UErrorCode& status);
110 
111  friend class ::GenderInfoTest;
113 };
114 
115 U_NAMESPACE_END
116 
117 #endif /* #if !UCONFIG_NO_FORMATTING */
118 
119 #endif /* U_SHOW_CPLUSPLUS_API */
120 
121 #endif // _GENDER
122 //eof
GenderInfo computes the gender of a list as a whole given the gender of each element.
Definition: gender.h:48
friend void GenderInfo_initCache(UErrorCode &status)
virtual ~GenderInfo()
Destructor.
UGender getListGender(const UGender *genders, int32_t length, UErrorCode &status) const
Determines the gender of a list as a whole given the gender of each of the elements.
static const GenderInfo * getInstance(const Locale &locale, UErrorCode &status)
Provides access to the predefined GenderInfo object for a given locale.
A Locale object represents a specific geographical, political, or cultural region.
Definition: locid.h:195
UObject is the common ICU "boilerplate" class.
Definition: uobject.h:223
C++ API: Locale ID object.
void GenderInfo_initCache(UErrorCode &status)
#define U_CALLCONV
Similar to U_CDECL_BEGIN/U_CDECL_END, this qualifier is necessary in callback function typedefs to ma...
Definition: platform.h:846
C API: The purpose of this API is to compute the gender of a list as a whole given the gender of each...
UGender
Genders.
Definition: ugender.h:32
C++ API: Common ICU base class UObject.
Basic definitions for ICU, for both C and C++ APIs.
UErrorCode
Standard ICU4C error code type, a substitute for exceptions.
Definition: utypes.h:430
#define U_I18N_API
Set to export library symbols from inside the i18n library, and to import them from outside.
Definition: utypes.h:316