diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2023-03-25 00:39:58 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-03-25 00:39:58 +0100 |
commit | 9afdac16096d84e0f8ef96b8be5bad6e0c4e218f (patch) | |
tree | b1406a4f83fddb321530041987795e6fd22bde40 | |
parent | b07ffbf085e06dc307f63ed341b1dbc350183a39 (diff) | |
parent | 45ebdd329b1015ffff59f9e2e6640a2e979d1d14 (diff) |
Merge pull request #26582 from vespa-engine/toregge/use-explicit-instantiations-of-multi-value-numeric-posting-attribute-and-multi-value-string-posting-attribute
Use explicit instantiations of MultiValueNumericPostingAttribute and
7 files changed, 41 insertions, 6 deletions
diff --git a/searchlib/src/vespa/searchlib/attribute/createarrayfastsearch.cpp b/searchlib/src/vespa/searchlib/attribute/createarrayfastsearch.cpp index 2a1ddee19f3..ba8cf763c6e 100644 --- a/searchlib/src/vespa/searchlib/attribute/createarrayfastsearch.cpp +++ b/searchlib/src/vespa/searchlib/attribute/createarrayfastsearch.cpp @@ -13,9 +13,8 @@ LOG_SETUP(".createarrayfastsearch"); #include "attributevector.hpp" #include "enumstore.hpp" #include "enumattribute.hpp" -#include "multinumericenumattribute.hpp" -#include "multinumericpostattribute.hpp" -#include "multistringpostattribute.hpp" +#include "multinumericpostattribute.h" +#include "multistringpostattribute.h" namespace search { diff --git a/searchlib/src/vespa/searchlib/attribute/createsetfastsearch.cpp b/searchlib/src/vespa/searchlib/attribute/createsetfastsearch.cpp index d706a9c207c..457aeb4c31f 100644 --- a/searchlib/src/vespa/searchlib/attribute/createsetfastsearch.cpp +++ b/searchlib/src/vespa/searchlib/attribute/createsetfastsearch.cpp @@ -11,9 +11,8 @@ LOG_SETUP(".createsetfastsearch"); #include "attributevector.hpp" #include "enumstore.hpp" #include "enumattribute.hpp" -#include "multinumericenumattribute.hpp" -#include "multinumericpostattribute.hpp" -#include "multistringpostattribute.hpp" +#include "multinumericpostattribute.h" +#include "multistringpostattribute.h" namespace search { diff --git a/searchlib/src/vespa/searchlib/attribute/multinumericenumattribute.cpp b/searchlib/src/vespa/searchlib/attribute/multinumericenumattribute.cpp index 3626fcd4bd3..2a1a96d15a9 100644 --- a/searchlib/src/vespa/searchlib/attribute/multinumericenumattribute.cpp +++ b/searchlib/src/vespa/searchlib/attribute/multinumericenumattribute.cpp @@ -1,11 +1,27 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. #include "multinumericenumattribute.hpp" +#include "enumattribute.h" +#include "floatbase.h" +#include "integerbase.h" #include <vespa/log/log.h> LOG_SETUP(".searchlib.attribute.multi_numeric_enum_attribute"); namespace search { +template class MultiValueNumericEnumAttribute<EnumAttribute<IntegerAttributeTemplate<int8_t>>, vespalib::datastore::AtomicEntryRef>; +template class MultiValueNumericEnumAttribute<EnumAttribute<IntegerAttributeTemplate<int16_t>>, vespalib::datastore::AtomicEntryRef>; +template class MultiValueNumericEnumAttribute<EnumAttribute<IntegerAttributeTemplate<int32_t>>, vespalib::datastore::AtomicEntryRef>; +template class MultiValueNumericEnumAttribute<EnumAttribute<IntegerAttributeTemplate<int64_t>>, vespalib::datastore::AtomicEntryRef>; +template class MultiValueNumericEnumAttribute<EnumAttribute<FloatingPointAttributeTemplate<float>>, vespalib::datastore::AtomicEntryRef>; +template class MultiValueNumericEnumAttribute<EnumAttribute<FloatingPointAttributeTemplate<double>>, vespalib::datastore::AtomicEntryRef>; +template class MultiValueNumericEnumAttribute<EnumAttribute<IntegerAttributeTemplate<int8_t>>, multivalue::WeightedValue<vespalib::datastore::AtomicEntryRef>>; +template class MultiValueNumericEnumAttribute<EnumAttribute<IntegerAttributeTemplate<int16_t>>, multivalue::WeightedValue<vespalib::datastore::AtomicEntryRef>>; +template class MultiValueNumericEnumAttribute<EnumAttribute<IntegerAttributeTemplate<int32_t>>, multivalue::WeightedValue<vespalib::datastore::AtomicEntryRef>>; +template class MultiValueNumericEnumAttribute<EnumAttribute<IntegerAttributeTemplate<int64_t>>, multivalue::WeightedValue<vespalib::datastore::AtomicEntryRef>>; +template class MultiValueNumericEnumAttribute<EnumAttribute<FloatingPointAttributeTemplate<float>>, multivalue::WeightedValue<vespalib::datastore::AtomicEntryRef>>; +template class MultiValueNumericEnumAttribute<EnumAttribute<FloatingPointAttributeTemplate<double>>, multivalue::WeightedValue<vespalib::datastore::AtomicEntryRef>>; + } // namespace search diff --git a/searchlib/src/vespa/searchlib/attribute/multinumericenumattribute.hpp b/searchlib/src/vespa/searchlib/attribute/multinumericenumattribute.hpp index 9a37677801e..edfea23f48d 100644 --- a/searchlib/src/vespa/searchlib/attribute/multinumericenumattribute.hpp +++ b/searchlib/src/vespa/searchlib/attribute/multinumericenumattribute.hpp @@ -10,6 +10,7 @@ #include "multi_numeric_enum_search_context.h" #include <vespa/searchlib/query/query_term_simple.h> #include <vespa/searchlib/util/fileutil.hpp> +#include <vespa/vespalib/util/array.hpp> #include <vespa/vespalib/util/stash.h> namespace search { diff --git a/searchlib/src/vespa/searchlib/attribute/multinumericpostattribute.cpp b/searchlib/src/vespa/searchlib/attribute/multinumericpostattribute.cpp index e60fddddac6..abae1cb6f76 100644 --- a/searchlib/src/vespa/searchlib/attribute/multinumericpostattribute.cpp +++ b/searchlib/src/vespa/searchlib/attribute/multinumericpostattribute.cpp @@ -1,8 +1,24 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. #include "multinumericpostattribute.hpp" +#include "enumattribute.h" +#include "floatbase.h" +#include "integerbase.h" namespace search { +template class MultiValueNumericPostingAttribute<EnumAttribute<IntegerAttributeTemplate<int8_t>>, vespalib::datastore::AtomicEntryRef>; +template class MultiValueNumericPostingAttribute<EnumAttribute<IntegerAttributeTemplate<int16_t>>, vespalib::datastore::AtomicEntryRef>; +template class MultiValueNumericPostingAttribute<EnumAttribute<IntegerAttributeTemplate<int32_t>>, vespalib::datastore::AtomicEntryRef>; +template class MultiValueNumericPostingAttribute<EnumAttribute<IntegerAttributeTemplate<int64_t>>, vespalib::datastore::AtomicEntryRef>; +template class MultiValueNumericPostingAttribute<EnumAttribute<FloatingPointAttributeTemplate<float>>, vespalib::datastore::AtomicEntryRef>; +template class MultiValueNumericPostingAttribute<EnumAttribute<FloatingPointAttributeTemplate<double>>, vespalib::datastore::AtomicEntryRef>; +template class MultiValueNumericPostingAttribute<EnumAttribute<IntegerAttributeTemplate<int8_t>>, multivalue::WeightedValue<vespalib::datastore::AtomicEntryRef>>; +template class MultiValueNumericPostingAttribute<EnumAttribute<IntegerAttributeTemplate<int16_t>>, multivalue::WeightedValue<vespalib::datastore::AtomicEntryRef>>; +template class MultiValueNumericPostingAttribute<EnumAttribute<IntegerAttributeTemplate<int32_t>>, multivalue::WeightedValue<vespalib::datastore::AtomicEntryRef>>; +template class MultiValueNumericPostingAttribute<EnumAttribute<IntegerAttributeTemplate<int64_t>>, multivalue::WeightedValue<vespalib::datastore::AtomicEntryRef>>; +template class MultiValueNumericPostingAttribute<EnumAttribute<FloatingPointAttributeTemplate<float>>, multivalue::WeightedValue<vespalib::datastore::AtomicEntryRef>>; +template class MultiValueNumericPostingAttribute<EnumAttribute<FloatingPointAttributeTemplate<double>>, multivalue::WeightedValue<vespalib::datastore::AtomicEntryRef>>; + } // namespace search diff --git a/searchlib/src/vespa/searchlib/attribute/multinumericpostattribute.hpp b/searchlib/src/vespa/searchlib/attribute/multinumericpostattribute.hpp index deee72dcf39..ea449300aef 100644 --- a/searchlib/src/vespa/searchlib/attribute/multinumericpostattribute.hpp +++ b/searchlib/src/vespa/searchlib/attribute/multinumericpostattribute.hpp @@ -4,6 +4,7 @@ #include "multinumericpostattribute.h" #include "multi_numeric_enum_search_context.h" +#include <vespa/searchcommon/attribute/config.h> #include <charconv> namespace search { diff --git a/searchlib/src/vespa/searchlib/attribute/multistringpostattribute.cpp b/searchlib/src/vespa/searchlib/attribute/multistringpostattribute.cpp index 7f2621d60f3..4d2823997cd 100644 --- a/searchlib/src/vespa/searchlib/attribute/multistringpostattribute.cpp +++ b/searchlib/src/vespa/searchlib/attribute/multistringpostattribute.cpp @@ -13,5 +13,8 @@ StringEnumIndexMapper::map(IEnumStore::Index original) const return _dictionary.remap_index(original); } +template class MultiValueStringPostingAttributeT<EnumAttribute<StringAttribute>, vespalib::datastore::AtomicEntryRef>; +template class MultiValueStringPostingAttributeT<EnumAttribute<StringAttribute>, multivalue::WeightedValue<vespalib::datastore::AtomicEntryRef>>; + } // namespace search |