// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. #pragma once #include #include #include #include #include namespace search::attribute { using EntryRefVector = std::vector>; /* * Create a vector of entry refs from an rcu vector containing atomic * entry refs. The new vector can be used by a flush thread while * saving an attribute vector as long as the proper generation guard * is also held. * * The function must be called from the attribute write thread. */ EntryRefVector make_entry_ref_vector_snapshot(const vespalib::RcuVectorBase& ref_vector, uint32_t size); }