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 00014 U_NAMESPACE_BEGIN 00015 00016 class UnicodeFilter; 00017 00032 class U_I18N_API UnicodeFilterLogic { 00033 00034 public: 00035 00042 static UnicodeFilter* createNot(const UnicodeFilter* f); 00043 00053 static UnicodeFilter* createAnd(const UnicodeFilter* f, 00054 const UnicodeFilter* g); 00055 00065 static UnicodeFilter* createAdoptingAnd(UnicodeFilter* adoptedF, 00066 UnicodeFilter* adoptedG); 00067 00077 static UnicodeFilter* createOr(const UnicodeFilter* f, 00078 const UnicodeFilter* g); 00079 00080 private: 00081 // Disallow instantiation 00082 UnicodeFilterLogic(); 00083 }; 00084 00085 inline UnicodeFilterLogic::UnicodeFilterLogic() {} 00086 00087 U_NAMESPACE_END 00088 00089 #endif