mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-18 05:32:52 +00:00
97f2a2213e
* Move some code outside dbms/src folder * Fix paths
27 lines
809 B
C++
27 lines
809 B
C++
#pragma once
|
|
#include <Common/Visitor.h>
|
|
#include <Core/TypeListNumber.h>
|
|
|
|
namespace DB::GatherUtils
|
|
{
|
|
|
|
template <typename T>
|
|
struct NumericArraySink;
|
|
|
|
struct GenericArraySink;
|
|
|
|
template <typename ArraySink>
|
|
struct NullableArraySink;
|
|
|
|
using NumericArraySinks = typename TypeListMap<NumericArraySink, TypeListNumbers>::Type;
|
|
using BasicArraySinks = typename AppendToTypeList<GenericArraySink, NumericArraySinks>::Type;
|
|
using NullableArraySinks = typename TypeListMap<NullableArraySink, BasicArraySinks>::Type;
|
|
using TypeListArraySinks = typename TypeListConcat<BasicArraySinks, NullableArraySinks>::Type;
|
|
|
|
class ArraySinkVisitor : public ApplyTypeListForClass<Visitor, TypeListArraySinks>::Type {};
|
|
|
|
template <typename Derived>
|
|
class ArraySinkVisitorImpl : public VisitorImpl<Derived, ArraySinkVisitor> {};
|
|
|
|
}
|