Path: blob/main/crates/polars-arrow/src/scalar/boolean.rs
6939 views
use super::Scalar;1use crate::datatypes::ArrowDataType;23/// The [`Scalar`] implementation of a boolean.4#[derive(Debug, Clone, PartialEq, Eq)]5pub struct BooleanScalar {6value: Option<bool>,7}89impl BooleanScalar {10/// Returns a new [`BooleanScalar`]11#[inline]12pub fn new(value: Option<bool>) -> Self {13Self { value }14}1516/// The value17#[inline]18pub fn value(&self) -> Option<bool> {19self.value20}21}2223impl Scalar for BooleanScalar {24#[inline]25fn as_any(&self) -> &dyn std::any::Any {26self27}2829#[inline]30fn is_valid(&self) -> bool {31self.value.is_some()32}3334#[inline]35fn dtype(&self) -> &ArrowDataType {36&ArrowDataType::Boolean37}38}3940impl From<Option<bool>> for BooleanScalar {41#[inline]42fn from(v: Option<bool>) -> Self {43Self::new(v)44}45}464748