1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/intl/icu/source/i18n/unicode/ugender.h Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,82 @@ 1.4 +/* 1.5 +***************************************************************************************** 1.6 +* Copyright (C) 2010-2013, International Business Machines 1.7 +* Corporation and others. All Rights Reserved. 1.8 +***************************************************************************************** 1.9 +*/ 1.10 + 1.11 +#ifndef UGENDER_H 1.12 +#define UGENDER_H 1.13 + 1.14 +#include "unicode/utypes.h" 1.15 + 1.16 +#if !UCONFIG_NO_FORMATTING 1.17 + 1.18 +#include "unicode/localpointer.h" 1.19 + 1.20 +/** 1.21 + * \file 1.22 + * \brief C API: The purpose of this API is to compute the gender of a list as a 1.23 + * whole given the gender of each element. 1.24 + * 1.25 + */ 1.26 + 1.27 +/** 1.28 + * Genders 1.29 + * @stable ICU 50 1.30 + */ 1.31 +enum UGender { 1.32 + /** 1.33 + * Male gender. 1.34 + * @stable ICU 50 1.35 + */ 1.36 + UGENDER_MALE, 1.37 + /** 1.38 + * Female gender. 1.39 + * @stable ICU 50 1.40 + */ 1.41 + UGENDER_FEMALE, 1.42 + /** 1.43 + * Neutral gender. 1.44 + * @stable ICU 50 1.45 + */ 1.46 + UGENDER_OTHER 1.47 +}; 1.48 +/** 1.49 + * @stable ICU 50 1.50 + */ 1.51 +typedef enum UGender UGender; 1.52 + 1.53 +/** 1.54 + * Opaque UGenderInfo object for use in C programs. 1.55 + * @stable ICU 50 1.56 + */ 1.57 +struct UGenderInfo; 1.58 +typedef struct UGenderInfo UGenderInfo; 1.59 + 1.60 +/** 1.61 + * Opens a new UGenderInfo object given locale. 1.62 + * @param locale The locale for which the rules are desired. 1.63 + * @param status UErrorCode pointer 1.64 + * @return A UGenderInfo for the specified locale, or NULL if an error occurred. 1.65 + * @stable ICU 50 1.66 + */ 1.67 +U_STABLE const UGenderInfo* U_EXPORT2 1.68 +ugender_getInstance(const char *locale, UErrorCode *status); 1.69 + 1.70 + 1.71 +/** 1.72 + * Given a list, returns the gender of the list as a whole. 1.73 + * @param genderInfo pointer that ugender_getInstance returns. 1.74 + * @param genders the gender of each element in the list. 1.75 + * @param size the size of the list. 1.76 + * @param status A pointer to a UErrorCode to receive any errors. 1.77 + * @return The gender of the list. 1.78 + * @stable ICU 50 1.79 + */ 1.80 +U_STABLE UGender U_EXPORT2 1.81 +ugender_getListGender(const UGenderInfo* genderinfo, const UGender *genders, int32_t size, UErrorCode *status); 1.82 + 1.83 +#endif /* #if !UCONFIG_NO_FORMATTING */ 1.84 + 1.85 +#endif