/* ******************************************************************************* * * Copyright (C) 2002, International Business Machines * Corporation and others. All Rights Reserved. * ******************************************************************************* * file name: nameprep.h * encoding: US-ASCII * tab size: 8 (not used) * indentation:4 * * created on: 2003feb1 * created by: Ram Viswanadha */ #ifndef NAMEPREP_H #define NAMEPREP_H #include "unicode/utypes.h" #include "strprep.h" #include "unicode/uniset.h" U_NAMESPACE_BEGIN /* A profile of stringprep MUST include all of the following: - The intended applicability of the profile - The character repertoire that is the input and output to stringprep (which is Unicode 3.2 for this version of stringprep) - The mapping tables from this document used (as described in section 3) - Any additional mapping tables specific to the profile - The Unicode normalization used, if any (as described in section 4) - The tables from this document of characters that are prohibited as output (as described in section 5) - The bidirectional string testing used, if any (as described in section 6) - Any additional characters that are prohibited as output specific to the profile */ class NamePrep: public StringPrep { public : NamePrep(UErrorCode& status); virtual inline ~NamePrep(){}; virtual inline UBool isNotProhibited(UChar32 ch); /** * ICU "poor man's RTTI", returns a UClassID for the actual class. * * @draft ICU 2.6 */ virtual inline UClassID getDynamicClassID() const { return getStaticClassID(); } /** * ICU "poor man's RTTI", returns a UClassID for this class. * * @draft ICU 2.6 */ static inline UClassID getStaticClassID() { return (UClassID)&fgClassID; } private: /** * The address of this static class variable serves as this class's ID * for ICU "poor man's RTTI". */ static const char fgClassID; }; U_NAMESPACE_END #endif /* * Hey, Emacs, please set the following: * * Local Variables: * indent-tabs-mode: nil * End: * */