ICU 73.2  73.2
symtable.h
Go to the documentation of this file.
00001 // © 2016 and later: Unicode, Inc. and others.
00002 // License & terms of use: http://www.unicode.org/copyright.html
00003 /*
00004 **********************************************************************
00005 *   Copyright (c) 2000-2005, International Business Machines
00006 *   Corporation and others.  All Rights Reserved.
00007 **********************************************************************
00008 *   Date        Name        Description
00009 *   02/04/00    aliu        Creation.
00010 **********************************************************************
00011 */
00012 #ifndef SYMTABLE_H
00013 #define SYMTABLE_H
00014 
00015 #include "unicode/utypes.h"
00016 
00017 #if U_SHOW_CPLUSPLUS_API
00018 
00019 #include "unicode/uobject.h"
00020 
00027 U_NAMESPACE_BEGIN
00028 
00029 class ParsePosition;
00030 class UnicodeFunctor;
00031 class UnicodeSet;
00032 class UnicodeString;
00033 
00059 class U_COMMON_API SymbolTable /* not : public UObject because this is an interface/mixin class */ {
00060 public:
00061 
00066     enum { SYMBOL_REF = 0x0024 /*$*/ };
00067 
00072     virtual ~SymbolTable();
00073 
00083     virtual const UnicodeString* lookup(const UnicodeString& s) const = 0;
00084 
00093     virtual const UnicodeFunctor* lookupMatcher(UChar32 ch) const = 0;
00094 
00112     virtual UnicodeString parseReference(const UnicodeString& text,
00113                                          ParsePosition& pos, int32_t limit) const = 0;
00114 };
00115 U_NAMESPACE_END
00116 
00117 #endif /* U_SHOW_CPLUSPLUS_API */
00118 
00119 #endif