Main Page   Class Hierarchy   Alphabetical List   Data Structures   File List   Data Fields   Globals  

uiter.h

Go to the documentation of this file.
00001 /*
00002 *******************************************************************************
00003 *
00004 *   Copyright (C) 2002, International Business Machines
00005 *   Corporation and others.  All Rights Reserved.
00006 *
00007 *******************************************************************************
00008 *   file name:  uiter.h
00009 *   encoding:   US-ASCII
00010 *   tab size:   8 (not used)
00011 *   indentation:4
00012 *
00013 *   created on: 2002jan18
00014 *   created by: Markus W. Scherer
00015 */
00016 
00017 #ifndef __UITER_H__
00018 #define __UITER_H__
00019 
00027 #include "unicode/utypes.h"
00028 #ifdef XP_CPLUSPLUS
00029 #   include "unicode/chariter.h"
00030 #   include "unicode/rep.h"
00031 #endif
00032 
00033 U_CDECL_BEGIN
00034 
00035 struct UCharIterator;
00036 typedef struct UCharIterator UCharIterator;
00037 
00044 enum UCharIteratorOrigin {
00045     UITER_START, UITER_CURRENT, UITER_LIMIT
00046 };
00047 typedef enum UCharIteratorOrigin UCharIteratorOrigin;
00048 
00063 typedef int32_t U_CALLCONV
00064 UCharIteratorGetIndex(UCharIterator *iter, UCharIteratorOrigin origin);
00065 
00083 typedef int32_t U_CALLCONV
00084 UCharIteratorMove(UCharIterator *iter, int32_t delta, UCharIteratorOrigin origin);
00085 
00098 typedef UBool U_CALLCONV
00099 UCharIteratorHasNext(UCharIterator *iter);
00100 
00112 typedef UBool U_CALLCONV
00113 UCharIteratorHasPrevious(UCharIterator *iter);
00114  
00127 typedef int32_t U_CALLCONV
00128 UCharIteratorCurrent(UCharIterator *iter);
00129 
00143 typedef int32_t U_CALLCONV
00144 UCharIteratorNext(UCharIterator *iter);
00145 
00159 typedef int32_t U_CALLCONV
00160 UCharIteratorPrevious(UCharIterator *iter);
00161 
00173 typedef int32_t U_CALLCONV
00174 UCharIteratorReserved(UCharIterator *iter, int32_t something);
00175 
00176 
00198 struct UCharIterator {
00203     const void *context;
00204 
00209     int32_t length;
00210 
00215     int32_t start;
00216 
00221     int32_t index;
00222 
00227     int32_t limit;
00228 
00232     int32_t reservedField;
00233 
00240     UCharIteratorGetIndex *getIndex;
00241 
00250     UCharIteratorMove *move;
00251 
00258     UCharIteratorHasNext *hasNext;
00259 
00265     UCharIteratorHasPrevious *hasPrevious;
00266 
00273     UCharIteratorCurrent *current;
00274 
00282     UCharIteratorNext *next;
00283 
00291     UCharIteratorPrevious *previous;
00292 
00298     UCharIteratorReserved *reservedFn;
00299 };
00300 
00319 U_CAPI int32_t U_EXPORT2
00320 uiter_current32(UCharIterator *iter);
00321 
00336 U_CAPI int32_t U_EXPORT2
00337 uiter_next32(UCharIterator *iter);
00338 
00353 U_CAPI int32_t U_EXPORT2
00354 uiter_previous32(UCharIterator *iter);
00355 
00375 U_CAPI void U_EXPORT2
00376 uiter_setString(UCharIterator *iter, const UChar *s, int32_t length);
00377 
00378 #ifdef XP_CPLUSPLUS
00379 
00397 U_CAPI void U_EXPORT2
00398 uiter_setCharacterIterator(UCharIterator *iter, CharacterIterator *charIter);
00399 
00419 U_CAPI void U_EXPORT2
00420 uiter_setReplaceable(UCharIterator *iter, const Replaceable *rep);
00421 
00422 #endif
00423 
00424 U_CDECL_END
00425 
00426 #endif

Generated on Mon Mar 4 21:43:55 2002 for ICU 2.0 by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002