blob: e4ec5233c80e7c763e174e0ddc78d1547a2c0127 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
#pragma once
#include <Common/Visitor.h>
#include <base/TypeLists.h>
namespace DB::GatherUtils
{
template <typename T>
struct NumericArraySink;
struct GenericArraySink;
template <typename ArraySink>
struct NullableArraySink;
using NumericArraySinks = TypeListMap<NumericArraySink, TypeListNumberWithUUID>;
using BasicArraySinks = TypeListAppend<GenericArraySink, NumericArraySinks>;
using NullableArraySinks = TypeListMap<NullableArraySink, BasicArraySinks>;
using TLArraySinks = TypeListConcat<BasicArraySinks, NullableArraySinks>;
class ArraySinkVisitor : public TypeListChangeRoot<Visitor, TLArraySinks>
{
protected:
~ArraySinkVisitor() = default;
};
template <typename Derived>
class ArraySinkVisitorImpl : public VisitorImpl<Derived, ArraySinkVisitor>
{
protected:
~ArraySinkVisitorImpl() = default;
};
}
|