vortex_vector/
scalar_macros.rs

1// SPDX-License-Identifier: Apache-2.0
2// SPDX-FileCopyrightText: Copyright the Vortex contributors
3
4/// Macro to match each variant of a `Scalar` enum.
5#[macro_export]
6macro_rules! match_each_scalar {
7    ($self:expr, | $scalar:ident | $body:block) => {{
8        match $self {
9            $crate::Scalar::Null($scalar) => $body,
10            $crate::Scalar::Bool($scalar) => $body,
11            $crate::Scalar::Decimal($scalar) => $body,
12            $crate::Scalar::Primitive($scalar) => $body,
13            $crate::Scalar::String($scalar) => $body,
14            $crate::Scalar::Binary($scalar) => $body,
15            $crate::Scalar::List($scalar) => $body,
16            $crate::Scalar::FixedSizeList($scalar) => $body,
17            $crate::Scalar::Struct($scalar) => $body,
18        }
19    }};
20}