summaryrefslogtreecommitdiffstats
path: root/intl/icu/source/i18n/unicode/ugender.h
diff options
context:
space:
mode:
Diffstat (limited to 'intl/icu/source/i18n/unicode/ugender.h')
-rw-r--r--intl/icu/source/i18n/unicode/ugender.h84
1 files changed, 84 insertions, 0 deletions
diff --git a/intl/icu/source/i18n/unicode/ugender.h b/intl/icu/source/i18n/unicode/ugender.h
new file mode 100644
index 0000000000..903f3dd5de
--- /dev/null
+++ b/intl/icu/source/i18n/unicode/ugender.h
@@ -0,0 +1,84 @@
+// © 2016 and later: Unicode, Inc. and others.
+// License & terms of use: http://www.unicode.org/copyright.html
+/*
+*****************************************************************************************
+* Copyright (C) 2010-2013, International Business Machines
+* Corporation and others. All Rights Reserved.
+*****************************************************************************************
+*/
+
+#ifndef UGENDER_H
+#define UGENDER_H
+
+#include "unicode/utypes.h"
+
+#if !UCONFIG_NO_FORMATTING
+
+#include "unicode/localpointer.h"
+
+/**
+ * \file
+ * \brief C API: The purpose of this API is to compute the gender of a list as a
+ * whole given the gender of each element.
+ *
+ */
+
+/**
+ * Genders
+ * @stable ICU 50
+ */
+enum UGender {
+ /**
+ * Male gender.
+ * @stable ICU 50
+ */
+ UGENDER_MALE,
+ /**
+ * Female gender.
+ * @stable ICU 50
+ */
+ UGENDER_FEMALE,
+ /**
+ * Neutral gender.
+ * @stable ICU 50
+ */
+ UGENDER_OTHER
+};
+/**
+ * @stable ICU 50
+ */
+typedef enum UGender UGender;
+
+struct UGenderInfo;
+/**
+ * Opaque UGenderInfo object for use in C programs.
+ * @stable ICU 50
+ */
+typedef struct UGenderInfo UGenderInfo;
+
+/**
+ * Opens a new UGenderInfo object given locale.
+ * @param locale The locale for which the rules are desired.
+ * @param status UErrorCode pointer
+ * @return A UGenderInfo for the specified locale, or NULL if an error occurred.
+ * @stable ICU 50
+ */
+U_STABLE const UGenderInfo* U_EXPORT2
+ugender_getInstance(const char *locale, UErrorCode *status);
+
+
+/**
+ * Given a list, returns the gender of the list as a whole.
+ * @param genderInfo pointer that ugender_getInstance returns.
+ * @param genders the gender of each element in the list.
+ * @param size the size of the list.
+ * @param status A pointer to a UErrorCode to receive any errors.
+ * @return The gender of the list.
+ * @stable ICU 50
+ */
+U_STABLE UGender U_EXPORT2
+ugender_getListGender(const UGenderInfo* genderInfo, const UGender *genders, int32_t size, UErrorCode *status);
+
+#endif /* #if !UCONFIG_NO_FORMATTING */
+
+#endif