From 99754e2d3e4068a02e09c7e3e937d84862d7a65a Mon Sep 17 00:00:00 2001 From: Keisuke Kuroyanagi Date: Tue, 11 Nov 2014 01:00:31 +0900 Subject: [PATCH] Add OffdeviceIntermediateDictHeader. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Used to have header information in OffdeviceIntermediateDict. Bug: 10059681 Change-Id: I966c26e514ddd229cf5597d3b96941234c530863 --- .../offdevice_intermediate_dict.h | 6 +++ .../offdevice_intermediate_dict_header.h | 44 +++++++++++++++++++ .../offdevice_intermediate_dict_test.cpp | 3 +- 3 files changed, 52 insertions(+), 1 deletion(-) create mode 100644 native/dicttoolkit/src/offdevice_intermediate_dict/offdevice_intermediate_dict_header.h diff --git a/native/dicttoolkit/src/offdevice_intermediate_dict/offdevice_intermediate_dict.h b/native/dicttoolkit/src/offdevice_intermediate_dict/offdevice_intermediate_dict.h index dfdb6a897..13d26ba91 100644 --- a/native/dicttoolkit/src/offdevice_intermediate_dict/offdevice_intermediate_dict.h +++ b/native/dicttoolkit/src/offdevice_intermediate_dict/offdevice_intermediate_dict.h @@ -18,6 +18,7 @@ #define LATINIME_DICT_TOOLKIT_OFFDEVICE_INTERMEDIATE_DICT_H #include "dict_toolkit_defines.h" +#include "offdevice_intermediate_dict/offdevice_intermediate_dict_header.h" #include "offdevice_intermediate_dict/offdevice_intermediate_dict_pt_node_array.h" #include "suggest/core/dictionary/property/word_property.h" #include "utils/int_array_view.h" @@ -30,13 +31,18 @@ namespace dicttoolkit { */ class OffdeviceIntermediateDict final { public: + OffdeviceIntermediateDict(const OffdeviceIntermediateDictHeader &header) + : mHeader(header), mRootPtNodeArray() {} + bool addWord(const WordProperty &wordProperty); // The returned value will be invalid after modifying the dictionary. e.g. calling addWord(). const WordProperty *getWordProperty(const CodePointArrayView codePoints) const; + const OffdeviceIntermediateDictHeader &getHeader() const { return mHeader; } private: DISALLOW_ASSIGNMENT_OPERATOR(OffdeviceIntermediateDict); + const OffdeviceIntermediateDictHeader mHeader; OffdeviceIntermediateDictPtNodeArray mRootPtNodeArray; bool addWordInner(const CodePointArrayView codePoints, const WordProperty &wordProperty, diff --git a/native/dicttoolkit/src/offdevice_intermediate_dict/offdevice_intermediate_dict_header.h b/native/dicttoolkit/src/offdevice_intermediate_dict/offdevice_intermediate_dict_header.h new file mode 100644 index 000000000..440627a79 --- /dev/null +++ b/native/dicttoolkit/src/offdevice_intermediate_dict/offdevice_intermediate_dict_header.h @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2014 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef LATINIME_DICT_TOOLKIT_OFFDEVICE_INTERMEDIATE_DICT_HEADER_H +#define LATINIME_DICT_TOOLKIT_OFFDEVICE_INTERMEDIATE_DICT_HEADER_H + +#include +#include + +#include "dict_toolkit_defines.h" + +namespace latinime { +namespace dicttoolkit { + +class OffdeviceIntermediateDictHeader final { + public: + using AttributeMap = std::map, std::vector>; + + OffdeviceIntermediateDictHeader(const AttributeMap &attributesMap) + : mAttributeMap(attributesMap) {} + + private: + DISALLOW_DEFAULT_CONSTRUCTOR(OffdeviceIntermediateDictHeader); + DISALLOW_ASSIGNMENT_OPERATOR(OffdeviceIntermediateDictHeader); + + const AttributeMap mAttributeMap; +}; + +} // namespace dicttoolkit +} // namespace latinime +#endif // LATINIME_DICT_TOOLKIT_OFFDEVICE_INTERMEDIATE_DICT_HEADER_H diff --git a/native/dicttoolkit/tests/offdevice_intermediate_dict/offdevice_intermediate_dict_test.cpp b/native/dicttoolkit/tests/offdevice_intermediate_dict/offdevice_intermediate_dict_test.cpp index 3bcb89e46..f2e24ab5f 100644 --- a/native/dicttoolkit/tests/offdevice_intermediate_dict/offdevice_intermediate_dict_test.cpp +++ b/native/dicttoolkit/tests/offdevice_intermediate_dict/offdevice_intermediate_dict_test.cpp @@ -41,7 +41,8 @@ const WordProperty getDummpWordProperty(const std::vector &&codePoints) { } TEST(OffdeviceIntermediateDictTest, TestAddWordProperties) { - OffdeviceIntermediateDict dict; + OffdeviceIntermediateDict dict = OffdeviceIntermediateDict( + OffdeviceIntermediateDictHeader(OffdeviceIntermediateDictHeader::AttributeMap())); EXPECT_EQ(nullptr, dict.getWordProperty(CodePointArrayView())); const WordProperty wordProperty0 = getDummpWordProperty(getCodePointVector("abcd"));