12#ifndef ARROWTABLESLICINGCACHE_H
13#define ARROWTABLESLICINGCACHE_H
16#include <arrow/array.h>
39void updatePairList(std::vector<StringPair>&
list, std::string
const& binding, std::string
const&
key);
46 void setCaches(std::vector<StringPair>&& bsks);
54 std::vector<std::shared_ptr<arrow::NumericArray<arrow::Int32Type>>>
values;
55 std::vector<std::shared_ptr<arrow::NumericArray<arrow::Int64Type>>>
counts;
64 void setCaches(std::vector<StringPair>&& bsks, std::vector<StringPair>&& bsksUnsorted = {});
GLsizei const GLfloat * value
Defining PrimaryVertex explicitly as messageable.
void updatePairList(std::vector< StringPair > &list, std::string const &binding, std::string const &key)
ServiceKind
The kind of service we are asking for.
std::pair< std::string, std::string > StringPair
std::vector< std::vector< int64_t > > ListVector
static constexpr ServiceKind service_kind
std::vector< StringPair > bindingsKeysUnsorted
std::vector< StringPair > bindingsKeys
void setCaches(std::vector< StringPair > &&bsks)
void setCachesUnsorted(std::vector< StringPair > &&bsks)
std::pair< int, bool > getCachePos(StringPair const &bindingKey) const
std::vector< StringPair > bindingsKeys
SliceInfoPtr getCacheForPos(int pos) const
arrow::Status updateCacheEntryUnsorted(int pos, std::shared_ptr< arrow::Table > const &table)
std::vector< ListVector > groups
std::vector< StringPair > bindingsKeysUnsorted
void setCaches(std::vector< StringPair > &&bsks, std::vector< StringPair > &&bsksUnsorted={})
arrow::Status updateCacheEntry(int pos, std::shared_ptr< arrow::Table > const &table)
int getCachePosSortedFor(StringPair const &bindingKey) const
std::vector< std::shared_ptr< arrow::NumericArray< arrow::Int32Type > > > values
int getCachePosUnsortedFor(StringPair const &bindingKey) const
static constexpr ServiceKind service_kind
SliceInfoPtr getCacheFor(StringPair const &bindingKey) const
SliceInfoUnsortedPtr getCacheUnsortedFor(StringPair const &bindingKey) const
SliceInfoUnsortedPtr getCacheUnsortedForPos(int pos) const
static void validateOrder(StringPair const &bindingKey, std::shared_ptr< arrow::Table > const &input)
std::vector< std::vector< int > > valuesUnsorted
std::vector< std::shared_ptr< arrow::NumericArray< arrow::Int64Type > > > counts
gsl::span< int64_t const > counts
std::pair< int64_t, int64_t > getSliceFor(int value) const
gsl::span< int const > values
gsl::span< int64_t const > getSliceFor(int value) const
gsl::span< int const > values
ListVector const * groups