characterset.h
来自「porting scintilla to qt」· C头文件 代码 · 共 59 行
H
59 行
// Scintilla source code edit control/** @file CharacterSet.h ** Encapsulates a set of characters. Used to test if a character is within a set. **/// Copyright 2007 by Neil Hodgson <neilh@scintilla.org>// The License.txt file describes the conditions under which this software may be distributed.class CharacterSet { int size; bool valueAfter; bool *bset;public: enum setBase { setNone=0, setLower=1, setUpper=2, setDigits=4, setAlpha=setLower|setUpper, setAlphaNum=setAlpha|setDigits }; CharacterSet(setBase base=setNone, const char *initialSet="", int size_=0x80, bool valueAfter_=false) { size = size_; valueAfter = valueAfter_; bset = new bool[size]; for (int i=0; i < size; i++) { bset[i] = false; } AddString(initialSet); if (base & setLower) AddString("abcdefghijklmnopqrstuvwxyz"); if (base & setUpper) AddString("ABCDEFGHIJKLMNOPQRSTUVWXYZ"); if (base & setDigits) AddString("0123456789"); } ~CharacterSet() { delete []bset; bset = 0; size = 0; } void Add(int val) { PLATFORM_ASSERT(val >= 0); PLATFORM_ASSERT(val < size); bset[val] = true; } void AddString(const char *CharacterSet) { for (const char *cp=CharacterSet; *cp; cp++) { int val = static_cast<unsigned char>(*cp); PLATFORM_ASSERT(val >= 0); PLATFORM_ASSERT(val < size); bset[val] = true; } } bool Contains(int val) const { PLATFORM_ASSERT(val >= 0); return (val < size) ? bset[val] : valueAfter; }};
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?