#pragma once
#include "function/table/bind_data.h"
#include "function/table/table_function.h"
namespace lbug {
namespace binder {
struct BoundTableScanInfo {
std::optional<function::TableFunction> func;
std::unique_ptr<function::TableFuncBindData> bindData;
BoundTableScanInfo(std::optional<function::TableFunction> func,
std::unique_ptr<function::TableFuncBindData> bindData)
: func{std::move(func)}, bindData{std::move(bindData)} {}
EXPLICIT_COPY_DEFAULT_MOVE(BoundTableScanInfo);
private:
BoundTableScanInfo(const BoundTableScanInfo& other)
: func{other.func}, bindData{other.bindData->copy()} {}
};
} }