#pragma once
#include <cudf/search.hpp>
#include <cudf/table/table.hpp>
#include <cudf/column/column.hpp>
#include <memory>
#include <vector>
#include "rust/cxx.h"
#include "column_shim.h"
#include "table_shim.h"
#include "scalar_shim.h"
namespace cudf_shims {
std::unique_ptr<OwnedColumn> lower_bound(
const OwnedTable& table,
const OwnedTable& values,
rust::Slice<const int32_t> orders,
rust::Slice<const int32_t> null_orders);
std::unique_ptr<OwnedColumn> upper_bound(
const OwnedTable& table,
const OwnedTable& values,
rust::Slice<const int32_t> orders,
rust::Slice<const int32_t> null_orders);
std::unique_ptr<OwnedColumn> contains_column(
const OwnedColumn& haystack,
const OwnedColumn& needles);
bool contains_scalar(
const OwnedColumn& haystack,
const OwnedScalar& needle);
}