Download include/unicode/displayoptions.h from camenduru/slahmr-test: direct link, hf CLI and curl.
- Browser
- Download file 7.28 kB
-
https://huggingface.co/camenduru/slahmr-test/resolve/main/include/unicode/displayoptions.h
- Command line
-
hf download hf://camenduru/slahmr-test/include/unicode/displayoptions.h
-
curl -L -o displayoptions.h https://huggingface.co/camenduru/slahmr-test/resolve/main/include/unicode/displayoptions.h
7.28 kB
| // © 2022 and later: Unicode, Inc. and others. | |
| // License & terms of use: http://www.unicode.org/copyright.html | |
| /** | |
| * \file | |
| * \brief C++ API: Display options class | |
| * | |
| * This class is designed as a more modern version of the UDisplayContext mechanism. | |
| */ | |
| U_NAMESPACE_BEGIN | |
| /** | |
| * Represents all the display options that are supported by CLDR such as grammatical case, noun | |
| * class, ... etc. It currently supports enums, but may be extended in the future to have other | |
| * types of data. It replaces a DisplayContext[] as a method parameter. | |
| * | |
| * NOTE: This class is Immutable, and uses a Builder interface. | |
| * | |
| * For example: | |
| * ``` | |
| * DisplayOptions x = | |
| * DisplayOptions::builder(). | |
| * .setGrammaticalCase(UDISPOPT_GRAMMATICAL_CASE_DATIVE) | |
| * .setPluralCategory(UDISPOPT_PLURAL_CATEGORY_FEW) | |
| * .build(); | |
| * ``` | |
| * | |
| * @draft ICU 72 | |
| */ | |
| class U_I18N_API DisplayOptions { | |
| public: | |
| /** | |
| * Responsible for building `DisplayOptions`. | |
| * | |
| * @draft ICU 72 | |
| */ | |
| class U_I18N_API Builder { | |
| public: | |
| /** | |
| * Sets the grammatical case. | |
| * | |
| * @param grammaticalCase The grammatical case. | |
| * @return Builder | |
| * @draft ICU 72 | |
| */ | |
| Builder &setGrammaticalCase(UDisplayOptionsGrammaticalCase grammaticalCase) { | |
| this->grammaticalCase = grammaticalCase; | |
| return *this; | |
| } | |
| /** | |
| * Sets the noun class. | |
| * | |
| * @param nounClass The noun class. | |
| * @return Builder | |
| * @draft ICU 72 | |
| */ | |
| Builder &setNounClass(UDisplayOptionsNounClass nounClass) { | |
| this->nounClass = nounClass; | |
| return *this; | |
| } | |
| /** | |
| * Sets the plural category. | |
| * | |
| * @param pluralCategory The plural category. | |
| * @return Builder | |
| * @draft ICU 72 | |
| */ | |
| Builder &setPluralCategory(UDisplayOptionsPluralCategory pluralCategory) { | |
| this->pluralCategory = pluralCategory; | |
| return *this; | |
| } | |
| /** | |
| * Sets the capitalization. | |
| * | |
| * @param capitalization The capitalization. | |
| * @return Builder | |
| * @draft ICU 72 | |
| */ | |
| Builder &setCapitalization(UDisplayOptionsCapitalization capitalization) { | |
| this->capitalization = capitalization; | |
| return *this; | |
| } | |
| /** | |
| * Sets the dialect handling. | |
| * | |
| * @param nameStyle The name style. | |
| * @return Builder | |
| * @draft ICU 72 | |
| */ | |
| Builder &setNameStyle(UDisplayOptionsNameStyle nameStyle) { | |
| this->nameStyle = nameStyle; | |
| return *this; | |
| } | |
| /** | |
| * Sets the display length. | |
| * | |
| * @param displayLength The display length. | |
| * @return Builder | |
| * @draft ICU 72 | |
| */ | |
| Builder &setDisplayLength(UDisplayOptionsDisplayLength displayLength) { | |
| this->displayLength = displayLength; | |
| return *this; | |
| } | |
| /** | |
| * Sets the substitute handling. | |
| * | |
| * @param substituteHandling The substitute handling. | |
| * @return Builder | |
| * @draft ICU 72 | |
| */ | |
| Builder &setSubstituteHandling(UDisplayOptionsSubstituteHandling substituteHandling) { | |
| this->substituteHandling = substituteHandling; | |
| return *this; | |
| } | |
| /** | |
| * Builds the display options. | |
| * | |
| * @return DisplayOptions | |
| * @draft ICU 72 | |
| */ | |
| DisplayOptions build() { return DisplayOptions(*this); } | |
| private: | |
| friend DisplayOptions; | |
| Builder(); | |
| Builder(const DisplayOptions &displayOptions); | |
| UDisplayOptionsGrammaticalCase grammaticalCase; | |
| UDisplayOptionsNounClass nounClass; | |
| UDisplayOptionsPluralCategory pluralCategory; | |
| UDisplayOptionsCapitalization capitalization; | |
| UDisplayOptionsNameStyle nameStyle; | |
| UDisplayOptionsDisplayLength displayLength; | |
| UDisplayOptionsSubstituteHandling substituteHandling; | |
| }; | |
| /** | |
| * Creates a builder with the `UNDEFINED` values for all the parameters. | |
| * | |
| * @return Builder | |
| * @draft ICU 72 | |
| */ | |
| static Builder builder(); | |
| /** | |
| * Creates a builder with the same parameters from this object. | |
| * | |
| * @return Builder | |
| * @draft ICU 72 | |
| */ | |
| Builder copyToBuilder() const; | |
| /** | |
| * Gets the grammatical case. | |
| * | |
| * @return UDisplayOptionsGrammaticalCase | |
| * @draft ICU 72 | |
| */ | |
| UDisplayOptionsGrammaticalCase getGrammaticalCase() const { return grammaticalCase; } | |
| /** | |
| * Gets the noun class. | |
| * | |
| * @return UDisplayOptionsNounClass | |
| * @draft ICU 72 | |
| */ | |
| UDisplayOptionsNounClass getNounClass() const { return nounClass; } | |
| /** | |
| * Gets the plural category. | |
| * | |
| * @return UDisplayOptionsPluralCategory | |
| * @draft ICU 72 | |
| */ | |
| UDisplayOptionsPluralCategory getPluralCategory() const { return pluralCategory; } | |
| /** | |
| * Gets the capitalization. | |
| * | |
| * @return UDisplayOptionsCapitalization | |
| * @draft ICU 72 | |
| */ | |
| UDisplayOptionsCapitalization getCapitalization() const { return capitalization; } | |
| /** | |
| * Gets the dialect handling. | |
| * | |
| * @return UDisplayOptionsNameStyle | |
| * @draft ICU 72 | |
| */ | |
| UDisplayOptionsNameStyle getNameStyle() const { return nameStyle; } | |
| /** | |
| * Gets the display length. | |
| * | |
| * @return UDisplayOptionsDisplayLength | |
| * @draft ICU 72 | |
| */ | |
| UDisplayOptionsDisplayLength getDisplayLength() const { return displayLength; } | |
| /** | |
| * Gets the substitute handling. | |
| * | |
| * @return UDisplayOptionsSubstituteHandling | |
| * @draft ICU 72 | |
| */ | |
| UDisplayOptionsSubstituteHandling getSubstituteHandling() const { return substituteHandling; } | |
| /** | |
| * Copies the DisplayOptions. | |
| * | |
| * @param other The options to copy. | |
| * @draft ICU 72 | |
| */ | |
| DisplayOptions &operator=(const DisplayOptions &other) = default; | |
| /** | |
| * Moves the DisplayOptions. | |
| * | |
| * @param other The options to move from. | |
| * @draft ICU 72 | |
| */ | |
| DisplayOptions &operator=(DisplayOptions &&other) noexcept = default; | |
| /** | |
| * Copies the DisplayOptions. | |
| * | |
| * @param other The options to copy. | |
| * @draft ICU 72 | |
| */ | |
| DisplayOptions(const DisplayOptions &other) = default; | |
| private: | |
| DisplayOptions(const Builder &builder); | |
| UDisplayOptionsGrammaticalCase grammaticalCase; | |
| UDisplayOptionsNounClass nounClass; | |
| UDisplayOptionsPluralCategory pluralCategory; | |
| UDisplayOptionsCapitalization capitalization; | |
| UDisplayOptionsNameStyle nameStyle; | |
| UDisplayOptionsDisplayLength displayLength; | |
| UDisplayOptionsSubstituteHandling substituteHandling; | |
| }; | |
| U_NAMESPACE_END | |