[
MAINHACK
]
Mail Test
BC
Config Scan
HOME
Create...
New File
New Folder
Viewing / Editing File: displayoptions.h
File is not writable. Editing disabled.
// © 2022 and later: Unicode, Inc. and others. // License & terms of use: http://www.unicode.org/copyright.html #ifndef __DISPLAYOPTIONS_H__ #define __DISPLAYOPTIONS_H__ #include "unicode/utypes.h" #if U_SHOW_CPLUSPLUS_API #if !UCONFIG_NO_FORMATTING /** * \file * \brief C++ API: Display options class * * This class is designed as a more modern version of the UDisplayContext mechanism. */ #include "unicode/udisplayoptions.h" #include "unicode/uversion.h" 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(); * ``` * * @stable ICU 72 */ class U_I18N_API DisplayOptions { public: /** * Responsible for building `DisplayOptions`. * * @stable ICU 72 */ class U_I18N_API Builder { public: /** * Sets the grammatical case. * * @param grammaticalCase The grammatical case. * @return Builder * @stable ICU 72 */ Builder &setGrammaticalCase(UDisplayOptionsGrammaticalCase grammaticalCase) { this->grammaticalCase = grammaticalCase; return *this; } /** * Sets the noun class. * * @param nounClass The noun class. * @return Builder * @stable ICU 72 */ Builder &setNounClass(UDisplayOptionsNounClass nounClass) { this->nounClass = nounClass; return *this; } /** * Sets the plural category. * * @param pluralCategory The plural category. * @return Builder * @stable ICU 72 */ Builder &setPluralCategory(UDisplayOptionsPluralCategory pluralCategory) { this->pluralCategory = pluralCategory; return *this; } /** * Sets the capitalization. * * @param capitalization The capitalization. * @return Builder * @stable ICU 72 */ Builder &setCapitalization(UDisplayOptionsCapitalization capitalization) { this->capitalization = capitalization; return *this; } /** * Sets the dialect handling. * * @param nameStyle The name style. * @return Builder * @stable ICU 72 */ Builder &setNameStyle(UDisplayOptionsNameStyle nameStyle) { this->nameStyle = nameStyle; return *this; } /** * Sets the display length. * * @param displayLength The display length. * @return Builder * @stable ICU 72 */ Builder &setDisplayLength(UDisplayOptionsDisplayLength displayLength) { this->displayLength = displayLength; return *this; } /** * Sets the substitute handling. * * @param substituteHandling The substitute handling. * @return Builder * @stable ICU 72 */ Builder &setSubstituteHandling(UDisplayOptionsSubstituteHandling substituteHandling) { this->substituteHandling = substituteHandling; return *this; } /** * Builds the display options. * * @return DisplayOptions * @stable 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 * @stable ICU 72 */ static Builder builder(); /** * Creates a builder with the same parameters from this object. * * @return Builder * @stable ICU 72 */ Builder copyToBuilder() const; /** * Gets the grammatical case. * * @return UDisplayOptionsGrammaticalCase * @stable ICU 72 */ UDisplayOptionsGrammaticalCase getGrammaticalCase() const { return grammaticalCase; } /** * Gets the noun class. * * @return UDisplayOptionsNounClass * @stable ICU 72 */ UDisplayOptionsNounClass getNounClass() const { return nounClass; } /** * Gets the plural category. * * @return UDisplayOptionsPluralCategory * @stable ICU 72 */ UDisplayOptionsPluralCategory getPluralCategory() const { return pluralCategory; } /** * Gets the capitalization. * * @return UDisplayOptionsCapitalization * @stable ICU 72 */ UDisplayOptionsCapitalization getCapitalization() const { return capitalization; } /** * Gets the dialect handling. * * @return UDisplayOptionsNameStyle * @stable ICU 72 */ UDisplayOptionsNameStyle getNameStyle() const { return nameStyle; } /** * Gets the display length. * * @return UDisplayOptionsDisplayLength * @stable ICU 72 */ UDisplayOptionsDisplayLength getDisplayLength() const { return displayLength; } /** * Gets the substitute handling. * * @return UDisplayOptionsSubstituteHandling * @stable ICU 72 */ UDisplayOptionsSubstituteHandling getSubstituteHandling() const { return substituteHandling; } /** * Copies the DisplayOptions. * * @param other The options to copy. * @stable ICU 72 */ DisplayOptions &operator=(const DisplayOptions &other) = default; /** * Moves the DisplayOptions. * * @param other The options to move from. * @stable ICU 72 */ DisplayOptions &operator=(DisplayOptions &&other) noexcept = default; /** * Copies the DisplayOptions. * * @param other The options to copy. * @stable 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 #endif /* #if !UCONFIG_NO_FORMATTING */ #endif /* U_SHOW_CPLUSPLUS_API */ #endif // __DISPLAYOPTIONS_H__
Save Changes
Cancel / Back
Close ×
Server Info
Hostname: premium56.web-hosting.com
Server IP: 198.54.119.70
PHP Version: 8.2.30
Server Software: LiteSpeed
System: Linux premium56.web-hosting.com 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64
HDD Total: 97.87 GB
HDD Free: 70.59 GB
Domains on IP: N/A (Requires external lookup)
System Features
Safe Mode:
Off
disable_functions:
None
allow_url_fopen:
On
allow_url_include:
Off
magic_quotes_gpc:
Off
register_globals:
Off
open_basedir:
None
cURL:
Enabled
ZipArchive:
Enabled
MySQLi:
Enabled
PDO:
Enabled
wget:
Yes
curl (cmd):
Yes
perl:
Yes
python:
Yes (py3)
gcc:
Yes
pkexec:
No
git:
Yes
User Info
Username: bkunreyz
User ID (UID): 830
Group ID (GID): 826
Script Owner UID: 830
Current Dir Owner: N/A