Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Firefox/intl/icu/source/i18n/   (Browser von der Mozilla Stiftung Version 136.0.1©)  Datei vom 10.2.2025 mit Größe 11 kB image not shown  

Quellcode-Bibliothek dtptngen_impl.h   Sprache: C

 
// © 2016 and later: Unicode, Inc. and others.
// License & terms of use: http://www.unicode.org/copyright.html
/*
*******************************************************************************
* Copyright (C) 2007-2016, International Business Machines Corporation and
* others. All Rights Reserved.
*******************************************************************************
*
* File DTPTNGEN.H
*
*******************************************************************************
*/


#    virtualjava.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
    DistanceInfo    virtual ~DistanceInfo()    void clear (  ( field)java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42

    voidaddMissingint32_t:

#includejava.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 0
#include "unicode/
#:

// TODO(claireho): Split off Builder class.
// TODO(claireho): If splitting off Builder class: As subclass or independent?

#    void     copyFrom)
#define MAX_CLDR_FIELD_LEN6java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
java.lang.StringIndexOutOfBoundsException: Index 75 out of bounds for length 30
#define MAX_RESOURCE_FIELD    DateTimeMatcher();
#define MAX_AVAILABLE_FORMATSDateTimeMatcher;
#define NONEDateTimeMatcher( DateTimeMatcherother
#define EXTRA_FIELD   0x10000&     ()
#define    java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
#define     PtnElem *boot     ~();
define(;
#define FORWARDSLASH              * getSkeletonPtr)java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
define         (char16_t const* ( UnicodeString , & skeletonWasSpecified;
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
eQUOTATION_MARK(char16_t)
#define ASTERISK          ((public
#definePLUSSITN(char16_tint32_t(  *getHeaderhar16_t ;
#define COMMAchar16_tx002C
#define HYPHENprivate:
#define DOT               ((char16_t)        (constDateTimeMatcher);
}// end  PatternMap
#define java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 0
#public:
#define CAP_C         ~();
CAP_D    ~PatternMapIterator
define             (char16_tx0045voidset& );
#define CAP_F             ((char16_t)0x0046)
#define CAP_G             ((char16_t)0x0047
#defineCAP_H:
#define CAP_J             (    int32_t     <>matcher
DTSkeletonEnumeration 
#define CAP_Lpublic:    equalsPatternMappatternMap dtStrEnumtypeUErrorCodestatus);
#define UBool;
#define CAP_O                 static    virtual(;

CAP_S             (}// end  PatternMap
defineCAP_T             ((char16_t)0) const override;
#define CAP_Uprivate:
#defineCAP_V(()0x0056:
#define CAP_W             (UErrorCode status
#define CAP_X                     void(PatternMappatternMap
 DateTimeMatcher(class :publicjava.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 8
#CAP_Z(java.lang.StringIndexOutOfBoundsException: Range [37, 36) out of bounds for length 44
#define LOWLINE;Bool
LOW_A     class :   java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
#define LOW_B(char16_t}/    virtual reset(ErrorCode ) override
#define LOW_C             class    void addconst UnicodeStringpattern UErrorCode& statusjava.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 63
#define LOW_D};
# LOW_E(
#define LOW_F             ((char16_t)0x0066U_NAMESPACE_END
#define LOW_G             ((char16_t)0x0067)
#define LOW_H             ((char16_t    Bool () ;
#define 
#define LOW_J((char16_t    int32_t;
 LOW_K             virtualreset&status;;
#defineLOW_L((char16_t)x006C
    <DateTimeMatchermatcher;
#define LOW_N             ((char16_t)0x006Eprivate
#define LOW_O             ((char16_t)0x006F DTSkeletonEnumerationpublic {
#defineLOW_P()0x0070
#define LOW_Q             ((char16_t)0x0071
#define LOW_R    UClassID(;
java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7
#define   (;
#define LOW_Uvoid    ( ;
define             char16_tx0076
#define              ()0)
#define LOW_X             ((char16_t)0x0078)
#define LOW_Y             ((java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
#define :
#;
#define        00
#define DT_SHORT          java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
#defineDT_LONG-
#define DT_NUMERIC         0x100
#define DT_DELTA           0x10

U_NAMESPACE_BEGIN

const int32_t UDATPG_FRACTIONAL_MASK = 1<<java.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 52
const int32_t virtual count&status;

typedef     addUnicodeStringpattern&status
    DT_BASESKELETON,
    :
    DT_PATTERN
}dtStrEnum pos

typedefUBool(const& ) ;
    char16_t               LocalPointerUVectorfPatternsjava.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
    UDateTimePatternField  field
    int16_tjava.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6
    int16_t                minLen;
    int16_t                weight;
} dtTypeElem;

// A compact storage mechanism for skeleton field strings.  Several dozen of these will be created
// for a typical DateTimePatternGenerator instance.
class SkeletonFields : public UMemory {
public:
    SkeletonFields();
    void clear();
    void copyFrom(const SkeletonFields& other);
    void clearField(int32_t field);
    char16_t getFieldChar(int32_t field) const;
    int32_t getFieldLength(int32_t field) const;
    void populate(int32_t field, const UnicodeString& value);
    void populate(int32_t field, char16_t repeatChar, int32_t repeatCount);
    UBool isFieldEmpty(int32_t field) const;
    UnicodeString& appendTo(UnicodeString& string) const;
    UnicodeString& appendFieldTo(int32_t field, UnicodeString& string) const;
    char16_t getFirstChar() const;
    inline bool operator==(const SkeletonFields& other) const;
    inline bool operator!=(const SkeletonFields& other) const;

private:
    int8_t chars[UDATPG_FIELD_COUNT];
    int8_t lengths[UDATPG_FIELD_COUNT];
};

inline bool SkeletonFields::operator==(const SkeletonFields& other) const {
    return (uprv_memcmp(chars, other.chars, sizeof(chars)) == 0
        && uprv_memcmp(lengths, other.lengths, sizeof(lengths)) == 0);
}

inline bool SkeletonFields::operator!=(const SkeletonFields& other) const {
    return (! operator==(other));
}

class PtnSkeleton : public UMemory {
public:
    int32_t type[UDATPG_FIELD_COUNT];
    SkeletonFields original;
    SkeletonFields baseOriginal;
    UBool addedDefaultDayPeriod;

    PtnSkeleton();
    PtnSkeleton(const PtnSkeleton& other);
    void copyFrom(const PtnSkeleton& other);
    void clear();
    UBool equals(const PtnSkeleton& other) const;
    UnicodeString getSkeleton() const;
    UnicodeString getBaseSkeleton() const;
    char16_t getFirstChar() const;

    // TODO: Why is this virtual, as well as the other destructors in this file? We don't want
    // vtables when we don't use class objects polymorphically.
    virtual ~PtnSkeleton();
};

class PtnElem : public UMemory {
public:
    UnicodeString basePattern;
    LocalPointer<PtnSkeleton> skeleton;
    UnicodeString pattern;
    UBool         skeletonWasSpecified; // if specified in availableFormats, not derived
    LocalPointer<PtnElem> next;

    PtnElem(const UnicodeString &basePattern, const UnicodeString &pattern);
    virtual ~PtnElem();
};

class FormatParser : public UMemory {
public:
    UnicodeString items[MAX_DT_TOKEN];
    int32_t itemNumber;

    FormatParser();
    virtual ~FormatParser();
    void set(const UnicodeString& patternString);
    void getQuoteLiteral(UnicodeString& quote, int32_t *itemIndex);
    UBool isPatternSeparator(const UnicodeString& field) const;
    static UBool isQuoteLiteral(const UnicodeString& s);
    static int32_t getCanonicalIndex(const UnicodeString& s) { return getCanonicalIndex(s, true); }
    static int32_t getCanonicalIndex(const UnicodeString& s, UBool strict);

private:
   typedef enum TokenStatus {
       START,
       ADD_TOKEN,
       SYNTAX_ERROR,
       DONE
   } TokenStatus;

   TokenStatus status;
   virtual TokenStatus setTokens(const UnicodeString& pattern, int32_t startPos, int32_t *len);
};

class DistanceInfo : public UMemory {
public:
    int32_t missingFieldMask;
    int32_t extraFieldMask;

    DistanceInfo() {}
    virtual ~DistanceInfo();
    void clear() { missingFieldMask = extraFieldMask = 0; }
    void setTo(const DistanceInfo& other);
    void addMissing(int32_t field) { missingFieldMask |= (1<<field); }
    void addExtra(int32_t field) { extraFieldMask |= (1<<field); }
};

class DateTimeMatcher: public UMemory {
public:
    PtnSkeleton skeleton;

    void getBasePattern(UnicodeString& basePattern);
    UnicodeString getPattern();
    void set(const UnicodeString& pattern, FormatParser* fp);
    void set(const UnicodeString& pattern, FormatParser* fp, PtnSkeleton& skeleton);
    void copyFrom(const PtnSkeleton& skeleton);
    void copyFrom();
    PtnSkeleton* getSkeletonPtr();
    UBool equals(const DateTimeMatcher* other) const;
    int32_t getDistance(const DateTimeMatcher& other, int32_t includeMask, DistanceInfo& distanceInfo) const;
    DateTimeMatcher();
    DateTimeMatcher(const DateTimeMatcher& other);
    DateTimeMatcher& operator=(const DateTimeMatcher& other);
    virtual ~DateTimeMatcher();
    int32_t getFieldMask() const;
};

class PatternMap : public UMemory {
public:
    PtnElem *boot[MAX_PATTERN_ENTRIES];
    PatternMap();
    virtual  ~PatternMap();
    void  add(const UnicodeString& basePattern, const PtnSkeleton& skeleton, const UnicodeString& value, UBool skeletonWasSpecified, UErrorCode& status);
    const UnicodeString* getPatternFromBasePattern(const UnicodeString& basePattern, UBool& skeletonWasSpecified) const;
    const UnicodeString* getPatternFromSkeleton(const PtnSkeleton& skeleton, const PtnSkeleton** specifiedSkeletonPtr = nullptr) const;
    void copyFrom(const PatternMap& other, UErrorCode& status);
    PtnElem* getHeader(char16_t baseChar) const;
    UBool equals(const PatternMap& other) const;
private:
    UBool isDupAllowed;
    PtnElem*  getDuplicateElem(const UnicodeString& basePattern, const PtnSkeleton& ;skeleton, PtnElem *baseElem);
}; // end  PatternMap

class PatternMapIterator : public UMemory {
public:
    PatternMapIterator(UErrorCode &status);
    virtual ~PatternMapIterator();
    void set(PatternMap& patternMap);
    PtnSkeleton* getSkeleton() const;
    UBool hasNext() const;
    DateTimeMatcher& next();
private:
    int32_t bootIndex;
    PtnElem *nodePtr;
    LocalPointer<DateTimeMatcher> matcher;
    PatternMap *patternMap;
};

class DTSkeletonEnumeration : public StringEnumeration {
public:
    DTSkeletonEnumeration(PatternMap& patternMap, dtStrEnum type, UErrorCode& status);
    virtual ~DTSkeletonEnumeration();
    static UClassID U_EXPORT2 getStaticClassID();
    virtual UClassID getDynamicClassID() const override;
    virtual const UnicodeString* snext(UErrorCode& status) override;
    virtual void reset(UErrorCode& status) override;
    virtual int32_t count(UErrorCode& status) const override;
private:
    int32_t pos;
    UBool isCanonicalItem(const UnicodeString& item);
    LocalPointer<UVector> fSkeletons;
};

class DTRedundantEnumeration : public StringEnumeration {
public:
    DTRedundantEnumeration();
    virtual ~DTRedundantEnumeration();
    static UClassID U_EXPORT2 getStaticClassID();
    virtual UClassID getDynamicClassID() const override;
    virtual const UnicodeString* snext(UErrorCode& status) override;
    virtual void reset(UErrorCode& status) override;
    virtual int32_t count(UErrorCode& status) const override;
    void add(const UnicodeString &pattern, UErrorCode& status);
private:
    int32_t pos;
    UBool isCanonicalItem(const UnicodeString& item) const;
    LocalPointer<UVector> fPatterns;
};

U_NAMESPACE_END

#endif

Messung V0.5
C=97 H=100 G=98

¤ Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.0.8Bemerkung:  ¤

*Bot Zugriff






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.