Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(316)

Unified Diff: third_party/hunspell_new/google/bdict_reader.h

Issue 1135173004: Rename third_party/hunspell_new back to third_party/hunspell. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « third_party/hunspell_new/google/bdict.cc ('k') | third_party/hunspell_new/google/bdict_reader.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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__
« no previous file with comments | « third_party/hunspell_new/google/bdict.cc ('k') | third_party/hunspell_new/google/bdict_reader.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698