diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2022-03-10 12:36:00 +0000 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2022-03-10 12:36:00 +0000 |
commit | b519d9d84b718a9e05207d2a1c1fc71e9e55a877 (patch) | |
tree | b2d00f59452e90063794295f1b65f52a5842859c /searchlib/src | |
parent | 80abc0659f07445536d92c59fae58dfb1f0ecae8 (diff) |
Reduce code visibility by reducing includes not needed.
Diffstat (limited to 'searchlib/src')
18 files changed, 60 insertions, 47 deletions
diff --git a/searchlib/src/tests/attribute/enumstore/enumstore_test.cpp b/searchlib/src/tests/attribute/enumstore/enumstore_test.cpp index c360bad6d75..02ff01043b0 100644 --- a/searchlib/src/tests/attribute/enumstore/enumstore_test.cpp +++ b/searchlib/src/tests/attribute/enumstore/enumstore_test.cpp @@ -1,6 +1,7 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. #include <vespa/searchlib/attribute/enumstore.hpp> +#include <vespa/searchlib/attribute/enum_store_loaders.h> #include <vespa/vespalib/test/memory_allocator_observer.h> #include <vespa/vespalib/gtest/gtest.h> diff --git a/searchlib/src/vespa/searchlib/attribute/CMakeLists.txt b/searchlib/src/vespa/searchlib/attribute/CMakeLists.txt index 9e5a8d4dfbb..4fff7cf96c1 100644 --- a/searchlib/src/vespa/searchlib/attribute/CMakeLists.txt +++ b/searchlib/src/vespa/searchlib/attribute/CMakeLists.txt @@ -50,6 +50,7 @@ vespa_add_library(searchlib_attribute OBJECT flagattribute.cpp floatbase.cpp i_document_weight_attribute.cpp + i_enum_store.cpp iattributemanager.cpp iattributesavetarget.cpp imported_attribute_vector.cpp diff --git a/searchlib/src/vespa/searchlib/attribute/enum_store_loaders.h b/searchlib/src/vespa/searchlib/attribute/enum_store_loaders.h index bfd11bafe33..2a72fcac628 100644 --- a/searchlib/src/vespa/searchlib/attribute/enum_store_loaders.h +++ b/searchlib/src/vespa/searchlib/attribute/enum_store_loaders.h @@ -4,8 +4,6 @@ #include "enum_store_types.h" #include "loadedenumvalue.h" -#include <vespa/vespalib/datastore/entryref.h> -#include <vespa/vespalib/stllike/allocator.h> namespace search { class IEnumStore; } diff --git a/searchlib/src/vespa/searchlib/attribute/enum_store_types.h b/searchlib/src/vespa/searchlib/attribute/enum_store_types.h index d2713d942fd..435e94fe592 100644 --- a/searchlib/src/vespa/searchlib/attribute/enum_store_types.h +++ b/searchlib/src/vespa/searchlib/attribute/enum_store_types.h @@ -2,16 +2,16 @@ #pragma once -#include <vespa/searchcommon/attribute/iattributevector.h> #include <vespa/vespalib/datastore/entryref.h> #include <vespa/vespalib/stllike/allocator.h> +#include <vector> namespace search::enumstore { using Index = vespalib::datastore::EntryRef; using InternalIndex = vespalib::datastore::EntryRefT<22>; using IndexVector = std::vector<Index, vespalib::allocator_large<Index>>; -using EnumHandle = attribute::IAttributeVector::EnumHandle; +using EnumHandle = uint32_t; using EnumVector = std::vector<uint32_t, vespalib::allocator_large<uint32_t>>; } diff --git a/searchlib/src/vespa/searchlib/attribute/enumhintsearchcontext.cpp b/searchlib/src/vespa/searchlib/attribute/enumhintsearchcontext.cpp index 26ff891fbb2..7583200806d 100644 --- a/searchlib/src/vespa/searchlib/attribute/enumhintsearchcontext.cpp +++ b/searchlib/src/vespa/searchlib/attribute/enumhintsearchcontext.cpp @@ -1,12 +1,14 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. #include "enumhintsearchcontext.h" +#include "i_enum_store_dictionary.h" #include <vespa/searchlib/queryeval/emptysearch.h> +#include <vespa/vespalib/datastore/i_unique_store_dictionary_read_snapshot.h> + namespace search::attribute { using queryeval::SearchIterator; -using vespalib::btree::BTreeNode; using fef::TermFieldMatchData; EnumHintSearchContext:: diff --git a/searchlib/src/vespa/searchlib/attribute/enumhintsearchcontext.h b/searchlib/src/vespa/searchlib/attribute/enumhintsearchcontext.h index a1389c1381e..7042de9ddb8 100644 --- a/searchlib/src/vespa/searchlib/attribute/enumhintsearchcontext.h +++ b/searchlib/src/vespa/searchlib/attribute/enumhintsearchcontext.h @@ -2,15 +2,15 @@ #pragma once -#include "i_enum_store_dictionary.h" #include "ipostinglistsearchcontext.h" -#include <vespa/searchlib/queryeval/searchiterator.h> namespace vespalib::datastore { -class EntryComparator; -class IUniqueStoreDictionaryReadSnapshot; + class EntryComparator; + class IUniqueStoreDictionaryReadSnapshot; } +namespace search { class IEnumStoreDictionary; } + namespace search::attribute { /** @@ -34,7 +34,7 @@ protected: void lookupTerm(const vespalib::datastore::EntryComparator &comp); void lookupRange(const vespalib::datastore::EntryComparator &low, const vespalib::datastore::EntryComparator &high); - queryeval::SearchIterator::UP + std::unique_ptr<queryeval::SearchIterator> createPostingIterator(fef::TermFieldMatchData *matchData, bool strict) override; void fetchPostings(const queryeval::ExecuteInfo & execInfo) override; diff --git a/searchlib/src/vespa/searchlib/attribute/enumstore.h b/searchlib/src/vespa/searchlib/attribute/enumstore.h index 5b47d42b6ed..52f42ed368e 100644 --- a/searchlib/src/vespa/searchlib/attribute/enumstore.h +++ b/searchlib/src/vespa/searchlib/attribute/enumstore.h @@ -4,7 +4,6 @@ #include "enum_store_compaction_spec.h" #include "enum_store_dictionary.h" -#include "enum_store_loaders.h" #include "enumcomparator.h" #include "i_enum_store.h" #include "loadedenumvalue.h" diff --git a/searchlib/src/vespa/searchlib/attribute/i_enum_store.cpp b/searchlib/src/vespa/searchlib/attribute/i_enum_store.cpp new file mode 100644 index 00000000000..106f67cede7 --- /dev/null +++ b/searchlib/src/vespa/searchlib/attribute/i_enum_store.cpp @@ -0,0 +1,18 @@ +// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. + +#include "i_enum_store.h" +#include "enum_store_loaders.h" + +namespace search { + +enumstore::EnumeratedLoader +IEnumStore::make_enumerated_loader() { + return enumstore::EnumeratedLoader(*this); +} + +enumstore::EnumeratedPostingsLoader +IEnumStore::make_enumerated_postings_loader() { + return enumstore::EnumeratedPostingsLoader(*this); +} + +} diff --git a/searchlib/src/vespa/searchlib/attribute/i_enum_store.h b/searchlib/src/vespa/searchlib/attribute/i_enum_store.h index b4e86e2a60c..d8b09ba211f 100644 --- a/searchlib/src/vespa/searchlib/attribute/i_enum_store.h +++ b/searchlib/src/vespa/searchlib/attribute/i_enum_store.h @@ -2,28 +2,28 @@ #pragma once -#include "enum_store_loaders.h" #include "enum_store_types.h" #include <vespa/vespalib/datastore/atomic_entry_ref.h> -#include <vespa/vespalib/datastore/unique_store_enumerator.h> +#include <memory> namespace vespalib { - -class AddressSpace; -class MemoryUsage; - + class AddressSpace; + class MemoryUsage; } namespace vespalib::datastore { - -class CompactionSpec; -class CompactionStrategy; -class DataStoreBase; - -template <typename> class UniqueStoreRemapper; - + class CompactionSpec; + class CompactionStrategy; + class DataStoreBase; + class EntryComparator; + template <typename> class UniqueStoreRemapper; + template <typename> class UniqueStoreEnumerator; } +namespace search::enumstore { + class EnumeratedLoader; + class EnumeratedPostingsLoader; +} namespace search { class BufferWriter; @@ -42,7 +42,7 @@ public: using EnumHandle = enumstore::EnumHandle; using EnumVector = enumstore::EnumVector; using EnumIndexRemapper = vespalib::datastore::UniqueStoreRemapper<InternalIndex>; - using Enumerator = vespalib::datastore::UniqueStoreEnumerator<IEnumStore::InternalIndex>; + using Enumerator = vespalib::datastore::UniqueStoreEnumerator<InternalIndex>; using IndexList = std::vector<Index>; @@ -68,13 +68,8 @@ public: // Should only be used by unit tests. virtual void inc_compaction_count() = 0; - enumstore::EnumeratedLoader make_enumerated_loader() { - return enumstore::EnumeratedLoader(*this); - } - - enumstore::EnumeratedPostingsLoader make_enumerated_postings_loader() { - return enumstore::EnumeratedPostingsLoader(*this); - } + enumstore::EnumeratedLoader make_enumerated_loader(); + enumstore::EnumeratedPostingsLoader make_enumerated_postings_loader(); virtual std::unique_ptr<Enumerator> make_enumerator() const = 0; virtual std::unique_ptr<vespalib::datastore::EntryComparator> allocate_comparator() const = 0; diff --git a/searchlib/src/vespa/searchlib/attribute/loadedenumvalue.h b/searchlib/src/vespa/searchlib/attribute/loadedenumvalue.h index 5dbaed15581..bbd811095c6 100644 --- a/searchlib/src/vespa/searchlib/attribute/loadedenumvalue.h +++ b/searchlib/src/vespa/searchlib/attribute/loadedenumvalue.h @@ -3,7 +3,6 @@ #pragma once #include "enum_store_types.h" -#include <vespa/vespalib/stllike/allocator.h> #include <vespa/vespalib/util/arrayref.h> #include <cassert> #include <limits> diff --git a/searchlib/src/vespa/searchlib/attribute/multienumattribute.h b/searchlib/src/vespa/searchlib/attribute/multienumattribute.h index 1a6460a96a8..fb3e66ac60a 100644 --- a/searchlib/src/vespa/searchlib/attribute/multienumattribute.h +++ b/searchlib/src/vespa/searchlib/attribute/multienumattribute.h @@ -2,7 +2,6 @@ #pragma once -#include "enum_store_loaders.h" #include "i_enum_store.h" #include "loadedenumvalue.h" #include "multivalue.h" diff --git a/searchlib/src/vespa/searchlib/attribute/multistringattribute.h b/searchlib/src/vespa/searchlib/attribute/multistringattribute.h index 18f2bcb53f5..415bfa25b16 100644 --- a/searchlib/src/vespa/searchlib/attribute/multistringattribute.h +++ b/searchlib/src/vespa/searchlib/attribute/multistringattribute.h @@ -2,11 +2,11 @@ #pragma once -#include <vespa/searchlib/attribute/stringbase.h> -#include <vespa/searchlib/attribute/enumattribute.h> -#include <vespa/searchlib/attribute/enumstore.h> -#include <vespa/searchlib/attribute/multienumattribute.h> -#include <vespa/searchlib/attribute/multi_value_mapping.h> +#include "stringbase.h" +#include "enumattribute.h" +#include "enumstore.h" +#include "multienumattribute.h" +#include "multi_value_mapping.h" #include "enumhintsearchcontext.h" #include "multivalue.h" diff --git a/searchlib/src/vespa/searchlib/attribute/numericbase.h b/searchlib/src/vespa/searchlib/attribute/numericbase.h index bd3a68fdc60..bd6ffda1b19 100644 --- a/searchlib/src/vespa/searchlib/attribute/numericbase.h +++ b/searchlib/src/vespa/searchlib/attribute/numericbase.h @@ -5,7 +5,6 @@ #include "attributevector.h" #include "i_enum_store.h" #include "loadedenumvalue.h" -#include "enum_store_loaders.h" namespace search { diff --git a/searchlib/src/vespa/searchlib/attribute/postinglistattribute.cpp b/searchlib/src/vespa/searchlib/attribute/postinglistattribute.cpp index c28131159e7..742b67f20ae 100644 --- a/searchlib/src/vespa/searchlib/attribute/postinglistattribute.cpp +++ b/searchlib/src/vespa/searchlib/attribute/postinglistattribute.cpp @@ -3,6 +3,7 @@ #include "postinglistattribute.h" #include "loadednumericvalue.h" #include "enumcomparator.h" +#include "enum_store_loaders.h" #include <vespa/vespalib/util/array.hpp> namespace search { diff --git a/searchlib/src/vespa/searchlib/attribute/singleenumattribute.hpp b/searchlib/src/vespa/searchlib/attribute/singleenumattribute.hpp index bb454a8b0d4..608f37c0cfa 100644 --- a/searchlib/src/vespa/searchlib/attribute/singleenumattribute.hpp +++ b/searchlib/src/vespa/searchlib/attribute/singleenumattribute.hpp @@ -7,6 +7,7 @@ #include "ipostinglistattributebase.h" #include "singleenumattributesaver.h" #include "load_utils.h" +#include "enum_store_loaders.h" #include <vespa/vespalib/datastore/unique_store_remapper.h> namespace search { diff --git a/searchlib/src/vespa/searchlib/attribute/stringattribute.h b/searchlib/src/vespa/searchlib/attribute/stringattribute.h index bd0ca998a1a..70508f14168 100644 --- a/searchlib/src/vespa/searchlib/attribute/stringattribute.h +++ b/searchlib/src/vespa/searchlib/attribute/stringattribute.h @@ -2,8 +2,8 @@ #pragma once -#include <vespa/searchlib/attribute/stringbase.h> -#include <vespa/searchlib/attribute/enumstore.h> +#include "stringbase.h" +#include "enumstore.h" namespace search { diff --git a/searchlib/src/vespa/searchlib/attribute/stringbase.cpp b/searchlib/src/vespa/searchlib/attribute/stringbase.cpp index 57882ddf1ae..6062c4f2096 100644 --- a/searchlib/src/vespa/searchlib/attribute/stringbase.cpp +++ b/searchlib/src/vespa/searchlib/attribute/stringbase.cpp @@ -4,6 +4,7 @@ #include "load_utils.h" #include "readerbase.h" #include "stringbase.h" +#include "enum_store_loaders.h" #include <vespa/document/fieldvalue/fieldvalue.h> #include <vespa/searchlib/query/query_term_ucs4.h> #include <vespa/searchlib/util/fileutil.hpp> diff --git a/searchlib/src/vespa/searchlib/attribute/stringbase.h b/searchlib/src/vespa/searchlib/attribute/stringbase.h index 1c3f51b80bb..495427d3e45 100644 --- a/searchlib/src/vespa/searchlib/attribute/stringbase.h +++ b/searchlib/src/vespa/searchlib/attribute/stringbase.h @@ -3,11 +3,10 @@ #pragma once #include "no_loaded_vector.h" -#include "enum_store_loaders.h" -#include <vespa/searchlib/attribute/attributevector.h> -#include <vespa/searchlib/attribute/changevector.h> -#include <vespa/searchlib/attribute/i_enum_store.h> -#include <vespa/searchlib/attribute/loadedenumvalue.h> +#include "attributevector.h" +#include "changevector.h" +#include "i_enum_store.h" +#include "loadedenumvalue.h" #include <vespa/vespalib/regex/regex.h> #include <vespa/vespalib/text/lowercase.h> #include <vespa/vespalib/text/utf8.h> |