2020-03-19 23:48:53 +00:00
|
|
|
#ifndef __clang_analyzer__ // It's too hard to analyze.
|
|
|
|
|
2019-12-15 06:34:43 +00:00
|
|
|
#include "GatherUtils.h"
|
2019-06-21 15:31:37 +00:00
|
|
|
#include "Selectors.h"
|
|
|
|
#include "Algorithms.h"
|
2017-10-12 19:58:39 +00:00
|
|
|
|
2018-01-10 15:45:05 +00:00
|
|
|
namespace DB::GatherUtils
|
2017-10-12 19:58:39 +00:00
|
|
|
{
|
2020-09-14 14:35:57 +00:00
|
|
|
|
|
|
|
namespace
|
|
|
|
{
|
|
|
|
|
2017-10-12 19:58:39 +00:00
|
|
|
struct SliceFromLeftConstantOffsetBoundedSelectArraySource
|
2020-09-14 14:35:57 +00:00
|
|
|
: public ArraySinkSourceSelector<SliceFromLeftConstantOffsetBoundedSelectArraySource>
|
2017-10-12 19:58:39 +00:00
|
|
|
{
|
|
|
|
template <typename Source, typename Sink>
|
|
|
|
static void selectSourceSink(Source && source, Sink && sink, size_t & offset, ssize_t & length)
|
|
|
|
{
|
|
|
|
sliceFromLeftConstantOffsetBounded(source, sink, offset, length);
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
2020-09-14 14:35:57 +00:00
|
|
|
}
|
|
|
|
|
2017-10-12 19:58:39 +00:00
|
|
|
void sliceFromLeftConstantOffsetBounded(IArraySource & src, IArraySink & sink, size_t offset, ssize_t length)
|
|
|
|
{
|
|
|
|
SliceFromLeftConstantOffsetBoundedSelectArraySource::select(src, sink, offset, length);
|
|
|
|
}
|
|
|
|
}
|
2020-03-19 23:48:53 +00:00
|
|
|
|
|
|
|
#endif
|