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 #include "unicode/uobject.h" 00017 00024 U_NAMESPACE_BEGIN 00025 00026 class ParsePosition; 00027 class UnicodeFunctor; 00028 class UnicodeSet; 00029 class UnicodeString; 00030 00056 class U_COMMON_API SymbolTable /* not : public UObject because this is an interface/mixin class */ { 00057 public: 00058 00063 enum { SYMBOL_REF = 0x0024 /*$*/ }; 00064 00069 virtual ~SymbolTable(); 00070 00080 virtual const UnicodeString* lookup(const UnicodeString& s) const = 0; 00081 00090 virtual const UnicodeFunctor* lookupMatcher(UChar32 ch) const = 0; 00091 00109 virtual UnicodeString parseReference(const UnicodeString& text, 00110 ParsePosition& pos, int32_t limit) const = 0; 00111 }; 00112 U_NAMESPACE_END 00113 00114 #endif
1.6.1