00001 /* 00002 ********************************************************************** 00003 * Copyright (C) 1999, International Business Machines Corporation and others. All Rights Reserved. 00004 ********************************************************************** 00005 * Date Name Description 00006 * 11/17/99 aliu Creation. 00007 ********************************************************************** 00008 */ 00009 #ifndef UNIFLTLG_H 00010 #define UNIFLTLG_H 00011 00012 #include "unicode/utypes.h" 00013 #include "unicode/uobject.h" 00014 00015 U_NAMESPACE_BEGIN 00016 00017 class UnicodeFilter; 00018 00033 class U_I18N_API UnicodeFilterLogic /* not : public UObject because all methods are static */ { 00034 00035 public: 00036 00043 static UnicodeFilter* createNot(const UnicodeFilter* f); 00044 00054 static UnicodeFilter* createAnd(const UnicodeFilter* f, 00055 const UnicodeFilter* g); 00056 00066 static UnicodeFilter* createAdoptingAnd(UnicodeFilter* adoptedF, 00067 UnicodeFilter* adoptedG); 00068 00078 static UnicodeFilter* createOr(const UnicodeFilter* f, 00079 const UnicodeFilter* g); 00080 00081 private: 00082 // Disallow instantiation 00083 UnicodeFilterLogic(); 00084 }; 00085 00086 inline UnicodeFilterLogic::UnicodeFilterLogic() {} 00087 00088 U_NAMESPACE_END 00089 00090 #endif