SILENT KILLERPanel

Current Path: > > opt > alt > > > libicu > usr > include > unicode


Operation   : Linux premium131.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
Software     : Apache
Server IP    : 162.0.232.56 | Your IP: 216.73.216.111
Domains      : 1034 Domain(s)
Permission   : [ 0755 ]

Files and Folders in: //opt/alt///libicu/usr/include/unicode

NameTypeSizeLast ModifiedActions
alphaindex.h File 27055 bytes November 07 2019 06:58:02.
appendable.h File 8632 bytes November 07 2019 06:58:02.
basictz.h File 9055 bytes November 07 2019 06:58:02.
brkiter.h File 28303 bytes November 07 2019 06:58:02.
bytestream.h File 9767 bytes November 07 2019 06:58:02.
bytestrie.h File 19718 bytes November 07 2019 06:58:02.
bytestriebuilder.h File 7186 bytes November 07 2019 06:58:02.
calendar.h File 107581 bytes November 07 2019 06:58:02.
caniter.h File 7550 bytes November 07 2019 06:58:02.
casemap.h File 25871 bytes November 07 2019 06:58:02.
char16ptr.h File 7331 bytes November 07 2019 06:58:02.
chariter.h File 24573 bytes November 07 2019 06:58:02.
choicfmt.h File 24418 bytes November 07 2019 06:58:02.
coleitr.h File 14033 bytes November 07 2019 06:58:02.
coll.h File 56928 bytes November 07 2019 06:58:02.
compactdecimalformat.h File 6971 bytes November 07 2019 06:58:02.
curramt.h File 3782 bytes November 07 2019 06:58:02.
currpinf.h File 7412 bytes November 07 2019 06:58:02.
currunit.h File 4082 bytes November 07 2019 06:58:02.
datefmt.h File 41334 bytes November 07 2019 06:58:02.
dbbi.h File 1133 bytes November 07 2019 06:58:02.
dcfmtsym.h File 20584 bytes November 07 2019 06:58:02.
decimfmt.h File 89926 bytes November 07 2019 06:58:02.
docmain.h File 7123 bytes November 07 2019 06:58:02.
dtfmtsym.h File 38548 bytes November 07 2019 06:58:02.
dtintrv.h File 3869 bytes November 07 2019 06:58:02.
dtitvfmt.h File 47676 bytes November 07 2019 06:58:02.
dtitvinf.h File 18902 bytes November 07 2019 06:58:02.
dtptngen.h File 25681 bytes November 07 2019 06:58:02.
dtrule.h File 8831 bytes November 07 2019 06:58:02.
edits.h File 21169 bytes November 07 2019 06:58:02.
enumset.h File 2130 bytes November 07 2019 06:58:02.
errorcode.h File 4894 bytes November 07 2019 06:58:02.
fieldpos.h File 8838 bytes November 07 2019 06:58:02.
filteredbrk.h File 5364 bytes November 07 2019 06:58:02.
fmtable.h File 24946 bytes November 07 2019 06:58:02.
format.h File 12741 bytes November 07 2019 06:58:02.
formattedvalue.h File 9963 bytes November 07 2019 06:58:02.
fpositer.h File 3047 bytes November 07 2019 06:58:02.
gender.h File 3347 bytes November 07 2019 06:58:02.
gregocal.h File 32331 bytes November 07 2019 06:58:02.
icudataver.h File 1051 bytes November 07 2019 06:58:02.
icuplug.h File 12166 bytes November 07 2019 06:58:02.
idna.h File 12938 bytes November 07 2019 06:58:02.
listformatter.h File 9644 bytes November 07 2019 06:58:02.
localebuilder.h File 10792 bytes November 07 2019 06:58:02.
localpointer.h File 20159 bytes November 07 2019 06:58:02.
locdspnm.h File 7231 bytes November 07 2019 06:58:02.
locid.h File 46015 bytes November 07 2019 06:58:02.
measfmt.h File 11710 bytes November 07 2019 06:58:02.
measunit.h File 90283 bytes November 07 2019 06:58:02.
measure.h File 4361 bytes November 07 2019 06:58:02.
messagepattern.h File 34460 bytes November 07 2019 06:58:02.
msgfmt.h File 45099 bytes November 07 2019 06:58:02.
normalizer2.h File 34789 bytes November 07 2019 06:58:02.
normlzr.h File 31476 bytes November 07 2019 06:58:02.
nounit.h File 2693 bytes November 07 2019 06:58:02.
numberformatter.h File 86654 bytes November 07 2019 06:58:02.
numberrangeformatter.h File 30653 bytes November 07 2019 06:58:02.
numfmt.h File 50530 bytes November 07 2019 06:58:02.
numsys.h File 7303 bytes November 07 2019 06:58:02.
parseerr.h File 3155 bytes November 07 2019 06:58:02.
parsepos.h File 5630 bytes November 07 2019 06:58:02.
platform.h File 27754 bytes November 07 2019 06:58:02.
plurfmt.h File 25786 bytes November 07 2019 06:58:02.
plurrule.h File 18774 bytes November 07 2019 06:58:02.
ptypes.h File 3577 bytes November 07 2019 06:58:02.
putil.h File 6487 bytes November 07 2019 06:58:02.
rbbi.h File 27053 bytes November 07 2019 06:58:02.
rbnf.h File 50984 bytes November 07 2019 06:58:02.
rbtz.h File 15838 bytes November 07 2019 06:58:02.
regex.h File 86320 bytes November 07 2019 06:58:02.
region.h File 9342 bytes November 07 2019 06:58:02.
reldatefmt.h File 22910 bytes November 07 2019 06:58:02.
rep.h File 9726 bytes November 07 2019 06:58:02.
resbund.h File 18440 bytes November 07 2019 06:58:02.
schriter.h File 6410 bytes November 07 2019 06:58:02.
scientificnumberformatter.h File 6474 bytes November 07 2019 06:58:02.
search.h File 22742 bytes November 07 2019 06:58:02.
selfmt.h File 14579 bytes November 07 2019 06:58:02.
simpleformatter.h File 12826 bytes November 07 2019 06:58:02.
simpletz.h File 46389 bytes November 07 2019 06:58:02.
smpdtfmt.h File 72597 bytes November 07 2019 06:58:02.
sortkey.h File 11383 bytes November 07 2019 06:58:02.
std_string.h File 1015 bytes November 07 2019 06:58:02.
strenum.h File 10279 bytes November 07 2019 06:58:02.
stringoptions.h File 5926 bytes November 07 2019 06:58:02.
stringpiece.h File 6610 bytes November 07 2019 06:58:02.
stringtriebuilder.h File 15636 bytes November 07 2019 06:58:02.
stsearch.h File 21801 bytes November 07 2019 06:58:02.
symtable.h File 4312 bytes November 07 2019 06:58:02.
tblcoll.h File 37272 bytes November 07 2019 06:58:02.
timezone.h File 42189 bytes November 07 2019 06:58:02.
tmunit.h File 3371 bytes November 07 2019 06:58:02.
tmutamt.h File 4918 bytes November 07 2019 06:58:02.
tmutfmt.h File 7977 bytes November 07 2019 06:58:02.
translit.h File 67339 bytes November 07 2019 06:58:02.
tzfmt.h File 43846 bytes November 07 2019 06:58:02.
tznames.h File 17190 bytes November 07 2019 06:58:02.
tzrule.h File 36170 bytes November 07 2019 06:58:02.
tztrans.h File 6214 bytes November 07 2019 06:58:02.
ubidi.h File 91711 bytes November 07 2019 06:58:02.
ubiditransform.h File 12950 bytes November 07 2019 06:58:02.
ubrk.h File 24547 bytes November 07 2019 06:58:02.
ucal.h File 56876 bytes November 07 2019 06:58:02.
ucasemap.h File 15546 bytes November 07 2019 06:58:02.
ucat.h File 5484 bytes November 07 2019 06:58:02.
uchar.h File 144035 bytes November 07 2019 06:58:02.
ucharstrie.h File 21569 bytes November 07 2019 06:58:02.
ucharstriebuilder.h File 7316 bytes November 07 2019 06:58:02.
uchriter.h File 13457 bytes November 07 2019 06:58:02.
uclean.h File 11474 bytes November 07 2019 06:58:02.
ucnv.h File 85085 bytes November 07 2019 06:58:02.
ucnv_cb.h File 6748 bytes November 07 2019 06:58:02.
ucnv_err.h File 21492 bytes November 07 2019 06:58:02.
ucnvsel.h File 6283 bytes November 07 2019 06:58:02.
ucol.h File 62864 bytes November 07 2019 06:58:02.
ucoleitr.h File 9684 bytes November 07 2019 06:58:02.
uconfig.h File 12338 bytes November 07 2019 06:58:02.
ucpmap.h File 5709 bytes November 07 2019 06:58:02.
ucptrie.h File 22824 bytes November 07 2019 06:58:02.
ucsdet.h File 15018 bytes November 07 2019 06:58:02.
ucurr.h File 16536 bytes November 07 2019 06:58:02.
udat.h File 62267 bytes November 07 2019 06:58:02.
udata.h File 15905 bytes November 07 2019 06:58:02.
udateintervalformat.h File 10272 bytes November 07 2019 06:58:02.
udatpg.h File 26564 bytes November 07 2019 06:58:02.
udisplaycontext.h File 6029 bytes November 07 2019 06:58:02.
uenum.h File 7970 bytes November 07 2019 06:58:02.
ufieldpositer.h File 4461 bytes November 07 2019 06:58:02.
uformattable.h File 11198 bytes November 07 2019 06:58:02.
uformattedvalue.h File 12430 bytes November 07 2019 06:58:02.
ugender.h File 2052 bytes November 07 2019 06:58:02.
uidna.h File 34169 bytes November 07 2019 06:58:02.
uiter.h File 23319 bytes November 07 2019 06:58:02.
uldnames.h File 10702 bytes November 07 2019 06:58:02.
ulistformatter.h File 9043 bytes November 07 2019 06:58:02.
uloc.h File 51971 bytes November 07 2019 06:58:02.
ulocdata.h File 11533 bytes November 07 2019 06:58:02.
umachine.h File 13509 bytes November 07 2019 06:58:02.
umisc.h File 1365 bytes November 07 2019 06:58:02.
umsg.h File 24812 bytes November 07 2019 06:58:02.
umutablecptrie.h File 8477 bytes November 07 2019 06:58:02.
unifilt.h File 3716 bytes November 07 2019 06:58:02.
unifunct.h File 4079 bytes November 07 2019 06:58:02.
unimatch.h File 6184 bytes November 07 2019 06:58:02.
unirepl.h File 3403 bytes November 07 2019 06:58:02.
uniset.h File 66440 bytes November 07 2019 06:58:02.
unistr.h File 174477 bytes November 07 2019 06:58:02.
unorm.h File 20938 bytes November 07 2019 06:58:02.
unorm2.h File 25254 bytes November 07 2019 06:58:02.
unum.h File 54832 bytes November 07 2019 06:58:02.
unumberformatter.h File 25795 bytes November 07 2019 06:58:02.
unumsys.h File 7387 bytes November 07 2019 06:58:02.
uobject.h File 11106 bytes November 07 2019 06:58:02.
upluralrules.h File 8068 bytes November 07 2019 06:58:02.
uregex.h File 73784 bytes November 07 2019 06:58:02.
uregion.h File 10073 bytes November 07 2019 06:58:02.
ureldatefmt.h File 17670 bytes November 07 2019 06:58:02.
urename.h File 134551 bytes November 07 2019 06:58:02.
urep.h File 5507 bytes November 07 2019 06:58:02.
ures.h File 37415 bytes November 07 2019 06:58:02.
uscript.h File 27510 bytes November 07 2019 06:58:02.
usearch.h File 39038 bytes November 07 2019 06:58:02.
uset.h File 40958 bytes November 07 2019 06:58:02.
usetiter.h File 9719 bytes November 07 2019 06:58:02.
ushape.h File 18432 bytes November 07 2019 06:58:02.
uspoof.h File 67613 bytes November 07 2019 06:58:02.
usprep.h File 8331 bytes November 07 2019 06:58:02.
ustdio.h File 39469 bytes November 07 2019 06:58:02.
ustream.h File 1844 bytes November 07 2019 06:58:02.
ustring.h File 74211 bytes November 07 2019 06:58:02.
ustringtrie.h File 3224 bytes November 07 2019 06:58:02.
utext.h File 59505 bytes November 07 2019 06:58:02.
utf.h File 8046 bytes November 07 2019 06:58:02.
utf16.h File 22866 bytes November 07 2019 06:58:02.
utf32.h File 763 bytes November 07 2019 06:58:02.
utf8.h File 30682 bytes November 07 2019 06:58:02.
utf_old.h File 44827 bytes November 07 2019 06:58:02.
utmscale.h File 14113 bytes November 07 2019 06:58:02.
utrace.h File 14219 bytes November 07 2019 06:58:02.
utrans.h File 26157 bytes November 07 2019 06:58:02.
utypes.h File 31108 bytes November 07 2019 06:58:02.
uvernum.h File 6832 bytes November 07 2019 06:58:02.
uversion.h File 6865 bytes November 07 2019 06:58:02.
vtzone.h File 20651 bytes November 07 2019 06:58:02.

Reading File: //opt/alt///libicu/usr/include/unicode/formattedvalue.h

// © 2018 and later: Unicode, Inc. and others.
// License & terms of use: http://www.unicode.org/copyright.html

#ifndef __FORMATTEDVALUE_H__
#define __FORMATTEDVALUE_H__

#include "unicode/utypes.h"
#if !UCONFIG_NO_FORMATTING
#ifndef U_HIDE_DRAFT_API

#include "unicode/appendable.h"
#include "unicode/fpositer.h"
#include "unicode/unistr.h"
#include "unicode/uformattedvalue.h"

U_NAMESPACE_BEGIN

/**
 * \file
 * \brief C++ API: Abstract operations for localized strings.
 * 
 * This file contains declarations for classes that deal with formatted strings. A number
 * of APIs throughout ICU use these classes for expressing their localized output.
 */


/**
 * Represents a span of a string containing a given field.
 *
 * This class differs from FieldPosition in the following ways:
 *
 *   1. It has information on the field category.
 *   2. It allows you to set constraints to use when iterating over field positions.
 *   3. It is used for the newer FormattedValue APIs.
 *
 * This class is not intended for public subclassing.
 *
 * @draft ICU 64
 */
class U_I18N_API ConstrainedFieldPosition : public UMemory {
  public:

    /**
     * Initializes a ConstrainedFieldPosition.
     *
     * By default, the ConstrainedFieldPosition has no iteration constraints.
     *
     * @draft ICU 64
     */
    ConstrainedFieldPosition();

    /** @draft ICU 64 */
    ~ConstrainedFieldPosition();

    /**
     * Resets this ConstrainedFieldPosition to its initial state, as if it were newly created:
     *
     * - Removes any constraints that may have been set on the instance.
     * - Resets the iteration position.
     *
     * @draft ICU 64
     */
    void reset();

    /**
     * Sets a constraint on the field category.
     * 
     * When this instance of ConstrainedFieldPosition is passed to FormattedValue#nextPosition,
     * positions are skipped unless they have the given category.
     *
     * Any previously set constraints are cleared.
     *
     * For example, to loop over only the number-related fields:
     *
     *     ConstrainedFieldPosition cfpos;
     *     cfpos.constrainCategory(UFIELDCATEGORY_NUMBER_FORMAT);
     *     while (fmtval.nextPosition(cfpos, status)) {
     *         // handle the number-related field position
     *     }
     *
     * Changing the constraint while in the middle of iterating over a FormattedValue
     * does not generally have well-defined behavior.
     *
     * @param category The field category to fix when iterating.
     * @draft ICU 64
     */
    void constrainCategory(int32_t category);

    /**
     * Sets a constraint on the category and field.
     * 
     * When this instance of ConstrainedFieldPosition is passed to FormattedValue#nextPosition,
     * positions are skipped unless they have the given category and field.
     *
     * Any previously set constraints are cleared.
     *
     * For example, to loop over all grouping separators:
     *
     *     ConstrainedFieldPosition cfpos;
     *     cfpos.constrainField(UFIELDCATEGORY_NUMBER_FORMAT, UNUM_GROUPING_SEPARATOR_FIELD);
     *     while (fmtval.nextPosition(cfpos, status)) {
     *         // handle the grouping separator position
     *     }
     *
     * Changing the constraint while in the middle of iterating over a FormattedValue
     * does not generally have well-defined behavior.
     *
     * @param category The field category to fix when iterating.
     * @param field The field to fix when iterating.
     * @draft ICU 64
     */
    void constrainField(int32_t category, int32_t field);

    /**
     * Gets the field category for the current position.
     *
     * The return value is well-defined only after
     * FormattedValue#nextPosition returns TRUE.
     *
     * @return The field category saved in the instance.
     * @draft ICU 64
     */
    inline int32_t getCategory() const {
        return fCategory;
    }

    /**
     * Gets the field for the current position.
     *
     * The return value is well-defined only after
     * FormattedValue#nextPosition returns TRUE.
     *
     * @return The field saved in the instance.
     * @draft ICU 64
     */
    inline int32_t getField() const {
        return fField;
    }

    /**
     * Gets the INCLUSIVE start index for the current position.
     *
     * The return value is well-defined only after FormattedValue#nextPosition returns TRUE.
     *
     * @return The start index saved in the instance.
     * @draft ICU 64
     */
    inline int32_t getStart() const {
        return fStart;
    }

    /**
     * Gets the EXCLUSIVE end index stored for the current position.
     *
     * The return value is well-defined only after FormattedValue#nextPosition returns TRUE.
     *
     * @return The end index saved in the instance.
     * @draft ICU 64
     */
    inline int32_t getLimit() const {
        return fLimit;
    }

    ////////////////////////////////////////////////////////////////////
    //// The following methods are for FormattedValue implementers; ////
    //// most users can ignore them.                                ////
    ////////////////////////////////////////////////////////////////////

    /**
     * Gets an int64 that FormattedValue implementations may use for storage.
     *
     * The initial value is zero.
     *
     * Users of FormattedValue should not need to call this method.
     *
     * @return The current iteration context from {@link #setInt64IterationContext}.
     * @draft ICU 64
     */
    inline int64_t getInt64IterationContext() const {
        return fContext;
    }

    /**
     * Sets an int64 that FormattedValue implementations may use for storage.
     *
     * Intended to be used by FormattedValue implementations.
     *
     * @param context The new iteration context.
     * @draft ICU 64
     */
    void setInt64IterationContext(int64_t context);

    /**
     * Determines whether a given field should be included given the
     * constraints.
     *
     * Intended to be used by FormattedValue implementations.
     *
     * @param category The category to test.
     * @param field The field to test.
     * @draft ICU 64
     */
    UBool matchesField(int32_t category, int32_t field) const;

    /**
     * Sets new values for the primary public getters.
     *
     * Intended to be used by FormattedValue implementations.
     *
     * It is up to the implementation to ensure that the user-requested
     * constraints are satisfied. This method does not check!
     *
     * @param category The new field category.
     * @param field The new field.
     * @param start The new inclusive start index.
     * @param limit The new exclusive end index.
     * @draft ICU 64
     */
    void setState(
        int32_t category,
        int32_t field,
        int32_t start,
        int32_t limit);

  private:
    int64_t fContext = 0LL;
    int32_t fField = 0;
    int32_t fStart = 0;
    int32_t fLimit = 0;
    int32_t fCategory = UFIELD_CATEGORY_UNDEFINED;
    int8_t fConstraint = 0;
};


/**
 * An abstract formatted value: a string with associated field attributes.
 * Many formatters format to classes implementing FormattedValue.
 *
 * @draft ICU 64
 */
class U_I18N_API FormattedValue /* not : public UObject because this is an interface/mixin class */ {
  public:
    /** @draft ICU 64 */
    virtual ~FormattedValue();

    /**
     * Returns the formatted string as a self-contained UnicodeString.
     *
     * If you need the string within the current scope only, consider #toTempString.
     *
     * @param status Set if an error occurs.
     * @return a UnicodeString containing the formatted string.
     *
     * @draft ICU 64
     */
    virtual UnicodeString toString(UErrorCode& status) const = 0;

    /**
     * Returns the formatted string as a read-only alias to memory owned by the FormattedValue.
     *
     * The return value is valid only as long as this FormattedValue is present and unchanged in
     * memory. If you need the string outside the current scope, consider #toString.
     *
     * The buffer returned by calling UnicodeString#getBuffer() on the return value is
     * guaranteed to be NUL-terminated.
     *
     * @param status Set if an error occurs.
     * @return a temporary UnicodeString containing the formatted string.
     *
     * @draft ICU 64
     */
    virtual UnicodeString toTempString(UErrorCode& status) const = 0;

    /**
     * Appends the formatted string to an Appendable.
     *
     * @param appendable
     *         The Appendable to which to append the string output.
     * @param status Set if an error occurs.
     * @return The same Appendable, for chaining.
     *
     * @draft ICU 64
     * @see Appendable
     */
    virtual Appendable& appendTo(Appendable& appendable, UErrorCode& status) const = 0;

    /**
     * Iterates over field positions in the FormattedValue. This lets you determine the position
     * of specific types of substrings, like a month or a decimal separator.
     *
     * To loop over all field positions:
     *
     *     ConstrainedFieldPosition cfpos;
     *     while (fmtval.nextPosition(cfpos, status)) {
     *         // handle the field position; get information from cfpos
     *     }
     *
     * @param cfpos
     *         The object used for iteration state. This can provide constraints to iterate over
     *         only one specific category or field;
     *         see ConstrainedFieldPosition#constrainCategory
     *         and ConstrainedFieldPosition#constrainField.
     * @param status Set if an error occurs.
     * @return TRUE if a new occurrence of the field was found;
     *         FALSE otherwise or if an error was set.
     *
     * @draft ICU 64
     */
    virtual UBool nextPosition(ConstrainedFieldPosition& cfpos, UErrorCode& status) const = 0;
};


U_NAMESPACE_END

#endif  /* U_HIDE_DRAFT_API */
#endif /* #if !UCONFIG_NO_FORMATTING */
#endif // __FORMATTEDVALUE_H__

SILENT KILLER Tool