4#ifndef __DISPLAYOPTIONS_H__
5#define __DISPLAYOPTIONS_H__
9#if U_SHOW_CPLUSPLUS_API
11#if !UCONFIG_NO_FORMATTING
13#include "unicode/udisplayoptions.h"
18#ifndef U_HIDE_DRAFT_API
54 Builder &setGrammaticalCase(UDisplayOptionsGrammaticalCase grammaticalCase) {
55 this->grammaticalCase = grammaticalCase;
66 Builder &setNounClass(UDisplayOptionsNounClass nounClass) {
67 this->nounClass = nounClass;
78 Builder &setPluralCategory(UDisplayOptionsPluralCategory pluralCategory) {
79 this->pluralCategory = pluralCategory;
90 Builder &setCapitalization(UDisplayOptionsCapitalization capitalization) {
91 this->capitalization = capitalization;
102 Builder &setNameStyle(UDisplayOptionsNameStyle nameStyle) {
103 this->nameStyle = nameStyle;
114 Builder &setDisplayLength(UDisplayOptionsDisplayLength displayLength) {
115 this->displayLength = displayLength;
126 Builder &setSubstituteHandling(UDisplayOptionsSubstituteHandling substituteHandling) {
127 this->substituteHandling = substituteHandling;
137 DisplayOptions build() {
return DisplayOptions(*
this); }
140 friend DisplayOptions;
143 Builder(
const DisplayOptions &displayOptions);
145 UDisplayOptionsGrammaticalCase grammaticalCase;
146 UDisplayOptionsNounClass nounClass;
147 UDisplayOptionsPluralCategory pluralCategory;
148 UDisplayOptionsCapitalization capitalization;
149 UDisplayOptionsNameStyle nameStyle;
150 UDisplayOptionsDisplayLength displayLength;
151 UDisplayOptionsSubstituteHandling substituteHandling;
160 static Builder builder();
167 Builder copyToBuilder()
const;
174 UDisplayOptionsGrammaticalCase getGrammaticalCase()
const {
return grammaticalCase; }
182 UDisplayOptionsNounClass getNounClass()
const {
return nounClass; }
190 UDisplayOptionsPluralCategory getPluralCategory()
const {
return pluralCategory; }
198 UDisplayOptionsCapitalization getCapitalization()
const {
return capitalization; }
206 UDisplayOptionsNameStyle getNameStyle()
const {
return nameStyle; }
214 UDisplayOptionsDisplayLength getDisplayLength()
const {
return displayLength; }
222 UDisplayOptionsSubstituteHandling getSubstituteHandling()
const {
return substituteHandling; }
230 DisplayOptions &operator=(
const DisplayOptions &other) =
default;
238 DisplayOptions &operator=(DisplayOptions &&other)
noexcept =
default;
246 DisplayOptions(
const DisplayOptions &other) =
default;
249 DisplayOptions(
const Builder &builder);
250 UDisplayOptionsGrammaticalCase grammaticalCase;
251 UDisplayOptionsNounClass nounClass;
252 UDisplayOptionsPluralCategory pluralCategory;
253 UDisplayOptionsCapitalization capitalization;
254 UDisplayOptionsNameStyle nameStyle;
255 UDisplayOptionsDisplayLength displayLength;
256 UDisplayOptionsSubstituteHandling substituteHandling;
Basic definitions for ICU, for both C and C++ APIs.
#define U_I18N_API
Set to export library symbols from inside the i18n library, and to import them from outside.
C API: API for accessing ICU version numbers.