use crate::column::Column;
use crate::error::{CudfError, Result};
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum PadSide {
Left = 0,
Right = 1,
Both = 2,
}
impl Column {
pub fn str_pad(&self, width: i32, side: PadSide, fill_char: &str) -> Result<Column> {
let result =
cudf_cxx::strings::padding::ffi::str_pad(&self.inner, width, side as i32, fill_char)
.map_err(CudfError::from_cxx)?;
Ok(Column { inner: result })
}
pub fn str_zfill(&self, width: i32) -> Result<Column> {
let result = cudf_cxx::strings::padding::ffi::str_zfill(&self.inner, width)
.map_err(CudfError::from_cxx)?;
Ok(Column { inner: result })
}
pub fn str_zfill_by_widths(&self, widths: &Column) -> Result<Column> {
let result =
cudf_cxx::strings::padding::ffi::str_zfill_by_widths(&self.inner, &widths.inner)
.map_err(CudfError::from_cxx)?;
Ok(Column { inner: result })
}
}