ICU 76.1: i18n/unicode/gender.h Source File

ICU 76.1 76.1

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
36class GenderInfoTest;
37
38U_NAMESPACE_BEGIN
39
41 void U_CALLCONV GenderInfo_initCache(UErrorCode &status);
42
48 class U_I18N_API GenderInfo : public UObject {
49public:
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
87private:
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;
112 friend void U_CALLCONV GenderInfo_initCache(UErrorCode &status);
113};
114
115U_NAMESPACE_END
116
117#endif /* #if !UCONFIG_NO_FORMATTING */
118
119#endif /* U_SHOW_CPLUSPLUS_API */
120
121#endif // _GENDER
122//eof
icu::GenderInfo
GenderInfo computes the gender of a list as a whole given the gender of each element.
Definition gender.h:48
icu::GenderInfo::getInstance
static const GenderInfo * getInstance(const Locale &locale, UErrorCode &status)
Provides access to the predefined GenderInfo object for a given locale.
icu::GenderInfo::GenderInfo_initCache
friend void GenderInfo_initCache(UErrorCode &status)
icu::GenderInfo::~GenderInfo
virtual ~GenderInfo()
Destructor.
icu::GenderInfo::getListGender
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.
icu::Locale
A Locale object represents a specific geographical, political, or cultural region.
Definition locid.h:195
icu::UObject
UObject is the common ICU "boilerplate" class.
Definition uobject.h:223
locid.h
C++ API: Locale ID object.
icu::GenderInfo_initCache
void GenderInfo_initCache(UErrorCode &status)
U_CALLCONV
#define U_CALLCONV
Similar to U_CDECL_BEGIN/U_CDECL_END, this qualifier is necessary in callback function typedefs to ma...
Definition platform.h:845
ugender.h
C API: The purpose of this API is to compute the gender of a list as a whole given the gender of each...
UGender
UGender
Genders.
Definition ugender.h:32
uobject.h
C++ API: Common ICU base class UObject.
utypes.h
Basic definitions for ICU, for both C and C++ APIs.
UErrorCode
UErrorCode
Standard ICU4C error code type, a substitute for exceptions.
Definition utypes.h:430
U_I18N_API
#define U_I18N_API
Set to export library symbols from inside the i18n library, and to import them from outside.
Definition utypes.h:316