Index: third_party/hunspell_new/google/bdict_reader.h |
diff --git a/third_party/hunspell_new/google/bdict_reader.h b/third_party/hunspell_new/google/bdict_reader.h |
deleted file mode 100644 |
index d4cbbd030f3c87b8b6919eef1515f1360d1be636..0000000000000000000000000000000000000000 |
--- a/third_party/hunspell_new/google/bdict_reader.h |
+++ /dev/null |
@@ -1,153 +0,0 @@ |
-// Copyright (c) 2011 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#ifndef CHROME_THIRD_PARTY_HUNSPELL_GOOGLE_DIC_READER_H__ |
-#define CHROME_THIRD_PARTY_HUNSPELL_GOOGLE_DIC_READER_H__ |
- |
-#include <string> |
-#include <vector> |
- |
-#include "base/basictypes.h" |
-#include "third_party/hunspell_new/google/bdict.h" |
- |
-namespace hunspell { |
- |
-class BDictReader; |
-class NodeReader; |
- |
-// Iterators ------------------------------------------------------------------- |
- |
-// Iterates through all words in the dictionary. It will fill the word into |
-// a caller-specified buffer. |
-class WordIterator { |
- public: |
- WordIterator(const WordIterator& other); |
- ~WordIterator(); |
- |
- // This must be explicitly declared and implemneted in the .cc file so it will |
- // compile without knowing the size of NodeInfo. |
- WordIterator& operator=(const WordIterator&); |
- |
- // Fills the buffer with the next word and the affixes for it into the given |
- // array. Returns the number of affixes. A return value of 0 means there are |
- // no more words. |
- int Advance(char* output_buffer, size_t output_len, |
- int affix_ids[BDict::MAX_AFFIXES_PER_WORD]); |
- |
- private: |
- friend class BDictReader; |
- struct NodeInfo; |
- |
- WordIterator(const NodeReader& reader); |
- |
- // Called by Advance when a leaf is found to generate the word, affix list, |
- // and return value. |
- int FoundLeaf(const NodeReader& node, char cur_char, |
- char* output_buffer, size_t output_len, |
- int affix_ids[BDict::MAX_AFFIXES_PER_WORD]); |
- |
- std::vector<NodeInfo> stack_; |
-}; |
- |
-// Will iterate over a list of lines separated by NULLs. |
-class LineIterator { |
- public: |
- // Returns the next word in the sequence or NULL if there are no mode. |
- const char* Advance(); |
- |
- // Advances to the next word in the sequence and copies it into the given |
- // buffer, of the given length. If it doesn't fit, it will be truncated. |
- // Returns true on success. |
- bool AdvanceAndCopy(char* buf, size_t buf_len); |
- |
- // Returns true when all data has been read. We're done when we reach a |
- // double-NULL or a the end of the input (shouldn't happen). |
- bool IsDone() const; |
- |
- protected: |
- friend class BDictReader; |
- |
- LineIterator(const unsigned char* bdict_data, size_t bdict_length, |
- size_t first_offset); |
- |
- const unsigned char* bdict_data_; |
- size_t bdict_length_; |
- |
- // Current offset within bdict_data of the next string to read. |
- size_t cur_offset_; |
-}; |
- |
-// Created by GetReplacementIterator to iterate over all replacement pairs. |
-class ReplacementIterator : public LineIterator { |
- public: |
- // Fills pointers to NULL terminated strings into the given output params. |
- // Returns false if there are no more pairs and nothing was filled in. |
- bool GetNext(const char** first, const char** second); |
- |
- private: |
- friend class BDictReader; |
- |
- ReplacementIterator(const unsigned char* bdict_data, size_t bdict_length, |
- size_t first_offset) |
- : LineIterator(bdict_data, bdict_length, first_offset) { |
- } |
-}; |
- |
-// Reads a BDict file mapped into memory. |
-class BDictReader { |
- public: |
- // You must call Init and it must succeed before calling any other functions. |
- BDictReader(); |
- |
- // Initializes the reader with the given data. The data does not transfer |
- // ownership, and the caller must keep it valid until the reader is destroyed. |
- // Returns true on success. |
- bool Init(const unsigned char* bdic_data, size_t bdic_length); |
- |
- // Returns true if Init() succeeded and other functions can be called. |
- bool IsValid() const { return !!bdict_data_; } |
- |
- // Locates the given word in the dictionary. There may be multiple matches if |
- // the word is listed multiple times in the dictionary with different affix |
- // rules. |
- // |
- // The number of matches is returned, and that number of corresponding affix |
- // group IDs are filled into |*affix_indices|. These IDs may be 0 to indicate |
- // there is no affix for that particular match. A return valuf of 0 means that |
- // there are no matches. |
- int FindWord(const char* word, |
- int affix_indices[BDict::MAX_AFFIXES_PER_WORD]) const; |
- |
- // Returns an iterator that will go over all AF lines ("affix groups"). |
- LineIterator GetAfLineIterator() const; |
- |
- // Returns an iterator that will go over all SFX/PFX lines ("affix rules"). |
- LineIterator GetAffixLineIterator() const; |
- |
- // Returns an iterator that will go over all "other" lines. |
- LineIterator GetOtherLineIterator() const; |
- |
- // Returns an iterator that can be used to iterate all replacements. |
- ReplacementIterator GetReplacementIterator() const; |
- |
- // Used for testing, returns an iterator for all words in the dictionary. |
- WordIterator GetAllWordIterator() const; |
- |
- private: |
- // Non-NULL indicates Init succeeded. |
- const unsigned char* bdict_data_; |
- size_t bdict_length_; |
- |
- // Pointer not owned by this class. It will point into the data. It will be |
- // NULL if the data is invalid. |
- const BDict::Header* header_; |
- |
- const BDict::AffHeader* aff_header_; |
- |
- DISALLOW_EVIL_CONSTRUCTORS(BDictReader); |
-}; |
- |
-} // namespace hunspell |
- |
-#endif // CHROME_THIRD_PARTY_HUNSPELL_GOOGLE_DIC_READER_H__ |