~suaweb/nginx/nginx-recipe

« back to all changes in this revision

Viewing changes to debian/modules/ngx_pagespeed/psol/include/third_party/icu/source/i18n/unicode/fpositer.h

  • Committer: Frans Elliott
  • Date: 2015-06-12 21:15:13 UTC
  • Revision ID: mastergeek.elliott@gmail.com-20150612211513-un4vguj32deibvb0
Added the actual pagespeed library to the ngx_pagespeed module dir.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
********************************************************************************
 
3
*   Copyright (C) 2010, International Business Machines
 
4
*   Corporation and others.  All Rights Reserved.
 
5
********************************************************************************
 
6
*
 
7
* File attiter.h
 
8
*
 
9
* Modification History:
 
10
*
 
11
*   Date        Name        Description
 
12
*   12/15/2009  dougfelt    Created
 
13
********************************************************************************
 
14
*/
 
15
 
 
16
#ifndef FPOSITER_H
 
17
#define FPOSITER_H
 
18
 
 
19
#include "unicode/utypes.h"
 
20
#include "unicode/uobject.h"
 
21
 
 
22
/**
 
23
 * \file
 
24
 * \brief C++ API: FieldPosition Iterator.
 
25
 */
 
26
 
 
27
#if UCONFIG_NO_FORMATTING
 
28
 
 
29
U_NAMESPACE_BEGIN
 
30
 
 
31
/*
 
32
 * Allow the declaration of APIs with pointers to FieldPositionIterator
 
33
 * even when formatting is removed from the build.
 
34
 */
 
35
class FieldPositionIterator;
 
36
 
 
37
U_NAMESPACE_END
 
38
 
 
39
#else
 
40
 
 
41
#include "unicode/fieldpos.h"
 
42
#include "unicode/umisc.h"
 
43
 
 
44
U_NAMESPACE_BEGIN
 
45
 
 
46
class UVector32;
 
47
 
 
48
/**
 
49
 * FieldPositionIterator returns the field ids and their start/limit positions generated
 
50
 * by a call to Format::format.  See Format, NumberFormat, DecimalFormat.
 
51
 * @stable ICU 4.4
 
52
 */
 
53
class U_I18N_API FieldPositionIterator : public UObject {
 
54
public:
 
55
    /**
 
56
     * Destructor.
 
57
     * @stable ICU 4.4
 
58
     */
 
59
    ~FieldPositionIterator();
 
60
 
 
61
    /**
 
62
     * Constructs a new, empty iterator.
 
63
     * @stable ICU 4.4
 
64
     */
 
65
    FieldPositionIterator(void);
 
66
 
 
67
    /**
 
68
     * Copy constructor.  If the copy failed for some reason, the new iterator will
 
69
     * be empty.
 
70
     * @stable ICU 4.4
 
71
     */
 
72
    FieldPositionIterator(const FieldPositionIterator&);
 
73
 
 
74
    /**
 
75
     * Return true if another object is semantically equal to this
 
76
     * one.
 
77
     * <p>
 
78
     * Return true if this FieldPositionIterator is at the same position in an
 
79
     * equal array of run values.
 
80
     * @stable ICU 4.4
 
81
     */
 
82
    UBool operator==(const FieldPositionIterator&) const;
 
83
 
 
84
    /**
 
85
     * Returns the complement of the result of operator==
 
86
     * @param rhs The FieldPositionIterator to be compared for inequality
 
87
     * @return the complement of the result of operator==
 
88
     * @stable ICU 4.4
 
89
     */
 
90
    UBool operator!=(const FieldPositionIterator& rhs) const { return !operator==(rhs); }
 
91
 
 
92
    /**
 
93
     * If the current position is valid, updates the FieldPosition values, advances the iterator,
 
94
     * and returns TRUE, otherwise returns FALSE.
 
95
     * @stable ICU 4.4
 
96
     */
 
97
    UBool next(FieldPosition& fp);
 
98
 
 
99
private:
 
100
    friend class FieldPositionIteratorHandler;
 
101
 
 
102
    /**
 
103
     * Sets the data used by the iterator, and resets the position.
 
104
     * Returns U_ILLEGAL_ARGUMENT_ERROR in status if the data is not valid 
 
105
     * (length is not a multiple of 3, or start >= limit for any run).
 
106
     */
 
107
    void setData(UVector32 *adopt, UErrorCode& status);
 
108
 
 
109
    UVector32 *data;
 
110
    int32_t pos;
 
111
 
 
112
    // No ICU "poor man's RTTI" for this class nor its subclasses.
 
113
    virtual UClassID getDynamicClassID() const;
 
114
};
 
115
 
 
116
U_NAMESPACE_END
 
117
 
 
118
#endif /* #if !UCONFIG_NO_FORMATTING */
 
119
 
 
120
#endif // FPOSITER_H