diff options
author | Tor Egge <Tor.Egge@yahooinc.com> | 2022-10-13 10:16:09 +0200 |
---|---|---|
committer | Tor Egge <Tor.Egge@yahooinc.com> | 2022-10-13 10:16:09 +0200 |
commit | 85431a267f99aa87cc26216f6c09aee595a31511 (patch) | |
tree | 63b5caf0ac5bcc4ffe28e86e9320f03dde2b03b7 /searchlib | |
parent | 9259007b603c4f5ec98597a4e1bf63e23cb660a6 (diff) |
Add explicit instantiation of more classes in attribute vector code.
Diffstat (limited to 'searchlib')
4 files changed, 38 insertions, 0 deletions
diff --git a/searchlib/src/vespa/searchlib/attribute/CMakeLists.txt b/searchlib/src/vespa/searchlib/attribute/CMakeLists.txt index 5e86c350b55..704db67aa03 100644 --- a/searchlib/src/vespa/searchlib/attribute/CMakeLists.txt +++ b/searchlib/src/vespa/searchlib/attribute/CMakeLists.txt @@ -73,6 +73,7 @@ vespa_add_library(searchlib_attribute OBJECT loadedenumvalue.cpp loadednumericvalue.cpp loadedvalue.cpp + multi_enum_search_context.cpp multi_numeric_enum_search_context.cpp multi_numeric_flag_search_context.cpp multi_numeric_search_context.cpp @@ -119,6 +120,7 @@ vespa_add_library(searchlib_attribute OBJECT singlesmallnumericattribute.cpp singlestringattribute.cpp singlestringpostattribute.cpp + single_enum_search_context.cpp single_numeric_enum_search_context.cpp single_numeric_search_context.cpp single_small_numeric_search_context.cpp diff --git a/searchlib/src/vespa/searchlib/attribute/attrvector.cpp b/searchlib/src/vespa/searchlib/attribute/attrvector.cpp index d5ef41243e7..4a0bdafae8f 100644 --- a/searchlib/src/vespa/searchlib/attribute/attrvector.cpp +++ b/searchlib/src/vespa/searchlib/attribute/attrvector.cpp @@ -203,4 +203,7 @@ bool StringDirectAttribute::addDoc(DocId & doc) return false; } +template class NumericDirectAttribute<IntegerAttributeTemplate<int64_t>>; +template class NumericDirectAttribute<FloatingPointAttributeTemplate<double>>; + } // namespace search diff --git a/searchlib/src/vespa/searchlib/attribute/multi_enum_search_context.cpp b/searchlib/src/vespa/searchlib/attribute/multi_enum_search_context.cpp new file mode 100644 index 00000000000..566d8e37d89 --- /dev/null +++ b/searchlib/src/vespa/searchlib/attribute/multi_enum_search_context.cpp @@ -0,0 +1,15 @@ +// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. + +#include "multi_enum_search_context.hpp" +#include "string_search_context.h" + +using ValueRef = vespalib::datastore::AtomicEntryRef; +using WeightedValueRef = search::multivalue::WeightedValue<vespalib::datastore::AtomicEntryRef>; + +namespace search::attribute { + +template class MultiEnumSearchContext<const char *, StringSearchContext, ValueRef>; + +template class MultiEnumSearchContext<const char *, StringSearchContext, WeightedValueRef>; + +} diff --git a/searchlib/src/vespa/searchlib/attribute/single_enum_search_context.cpp b/searchlib/src/vespa/searchlib/attribute/single_enum_search_context.cpp new file mode 100644 index 00000000000..c7faeaba977 --- /dev/null +++ b/searchlib/src/vespa/searchlib/attribute/single_enum_search_context.cpp @@ -0,0 +1,18 @@ +// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. + +#include "single_enum_search_context.hpp" +#include "string_search_context.h" +#include "numeric_range_matcher.h" +#include "numeric_search_context.h" + +namespace search::attribute { + +template class SingleEnumSearchContext<const char*, StringSearchContext>; +template class SingleEnumSearchContext<int8_t, NumericSearchContext<NumericRangeMatcher<int8_t>>>; +template class SingleEnumSearchContext<int16_t, NumericSearchContext<NumericRangeMatcher<int16_t>>>; +template class SingleEnumSearchContext<int32_t, NumericSearchContext<NumericRangeMatcher<int32_t>>>; +template class SingleEnumSearchContext<int64_t, NumericSearchContext<NumericRangeMatcher<int64_t>>>; +template class SingleEnumSearchContext<float, NumericSearchContext<NumericRangeMatcher<float>>>; +template class SingleEnumSearchContext<double, NumericSearchContext<NumericRangeMatcher<double>>>; + +} |