From eefb45d1db944ef9ebeb1e30e3281dbe4d7e5218 Mon Sep 17 00:00:00 2001 From: nyamatongwe Date: Wed, 8 May 2013 18:50:12 +1000 Subject: Hide implementation of WordList. --- lexlib/WordList.cxx | 21 +++++++++++++++++++++ lexlib/WordList.h | 12 ++++++------ 2 files changed, 27 insertions(+), 6 deletions(-) (limited to 'lexlib') diff --git a/lexlib/WordList.cxx b/lexlib/WordList.cxx index 07ca015e3..049bf6ec0 100644 --- a/lexlib/WordList.cxx +++ b/lexlib/WordList.cxx @@ -64,6 +64,18 @@ static char **ArrayFromWordList(char *wordlist, int *len, bool onlyLineEnds = fa return keywords; } +WordList::WordList(bool onlyLineEnds_) : + words(0), list(0), len(0), onlyLineEnds(onlyLineEnds_) { +} + +WordList::~WordList() { + Clear(); +} + +WordList::operator bool() const { + return len ? true : false; +} + bool WordList::operator!=(const WordList &other) const { if (len != other.len) return true; @@ -74,6 +86,10 @@ bool WordList::operator!=(const WordList &other) const { return false; } +int WordList::Length() const { + return len; +} + void WordList::Clear() { if (words) { delete []list; @@ -213,3 +229,8 @@ bool WordList::InListAbbreviated(const char *s, const char marker) const { } return false; } + +const char *WordList::WordAt(int n) const { + return words[n]; +} + diff --git a/lexlib/WordList.h b/lexlib/WordList.h index ea5be1d55..9c8285ece 100644 --- a/lexlib/WordList.h +++ b/lexlib/WordList.h @@ -15,23 +15,23 @@ namespace Scintilla { /** */ class WordList { -public: // Each word contains at least one character - a empty word acts as sentinel at the end. char **words; char *list; int len; bool onlyLineEnds; ///< Delimited by any white space or only line ends int starts[256]; - WordList(bool onlyLineEnds_ = false) : - words(0), list(0), len(0), onlyLineEnds(onlyLineEnds_) - {} - ~WordList() { Clear(); } - operator bool() const { return len ? true : false; } +public: + WordList(bool onlyLineEnds_ = false); + ~WordList(); + operator bool() const; bool operator!=(const WordList &other) const; + int Length() const; void Clear(); void Set(const char *s); bool InList(const char *s) const; bool InListAbbreviated(const char *s, const char marker) const; + const char *WordAt(int n) const; }; #ifdef SCI_NAMESPACE -- cgit v1.2.3