pub trait Loggable: Sized + 'static + Send + Sync + Clone + SizeBytes {
// Provided methods
fn arrow_datatype() -> DataType { ... }
fn arrow2_datatype() -> DataType { ... }
fn to_arrow_opt<'a>(
data: impl IntoIterator<Item = Option<impl Into<Cow<'a, Self>>>>,
) -> Result<Arc<dyn Array>, SerializationError>
where Self: 'a { ... }
fn to_arrow2_opt<'a>(
data: impl IntoIterator<Item = Option<impl Into<Cow<'a, Self>>>>,
) -> Result<Box<dyn Array>, SerializationError>
where Self: 'a { ... }
fn to_arrow<'a>(
data: impl IntoIterator<Item = impl Into<Cow<'a, Self>>>,
) -> Result<Arc<dyn Array>, SerializationError>
where Self: 'a { ... }
fn to_arrow2<'a>(
data: impl IntoIterator<Item = impl Into<Cow<'a, Self>>>,
) -> Result<Box<dyn Array>, SerializationError>
where Self: 'a { ... }
fn from_arrow(data: &dyn Array) -> Result<Vec<Self>, DeserializationError> { ... }
fn from_arrow2(
data: &(dyn Array + 'static),
) -> Result<Vec<Self>, DeserializationError> { ... }
fn from_arrow_opt(
data: &dyn Array,
) -> Result<Vec<Option<Self>>, DeserializationError> { ... }
fn from_arrow2_opt(
data: &(dyn Array + 'static),
) -> Result<Vec<Option<Self>>, DeserializationError> { ... }
}
Expand description
A Loggable
represents a single instance in an array of loggable data.
Internally, Arrow, and by extension Rerun, only deal with arrays of data. We refer to individual entries in these arrays as instances.
A Loggable
has no semantics (such as a name, for example): it’s just data.
If you want to encode semantics, then you’re looking for a Component
, which extends Loggable
.
Implementing the Loggable
trait automatically derives the LoggableBatch
implementation,
which makes it possible to work with lists’ worth of data in a generic fashion.
Provided Methods§
sourcefn arrow_datatype() -> DataType
fn arrow_datatype() -> DataType
The underlying arrow::datatypes::DataType
, excluding datatype extensions.
sourcefn arrow2_datatype() -> DataType
fn arrow2_datatype() -> DataType
The underlying arrow2::datatypes::DataType
, excluding datatype extensions.
sourcefn to_arrow_opt<'a>(
data: impl IntoIterator<Item = Option<impl Into<Cow<'a, Self>>>>,
) -> Result<Arc<dyn Array>, SerializationError>where
Self: 'a,
fn to_arrow_opt<'a>(
data: impl IntoIterator<Item = Option<impl Into<Cow<'a, Self>>>>,
) -> Result<Arc<dyn Array>, SerializationError>where
Self: 'a,
Given an iterator of options of owned or reference values to the current
Loggable
, serializes them into an Arrow array.
When using Rerun’s builtin components & datatypes, this can only fail if the data exceeds the maximum number of entries in an Arrow array (2^31 for standard arrays, 2^63 for large arrays).
sourcefn to_arrow2_opt<'a>(
data: impl IntoIterator<Item = Option<impl Into<Cow<'a, Self>>>>,
) -> Result<Box<dyn Array>, SerializationError>where
Self: 'a,
fn to_arrow2_opt<'a>(
data: impl IntoIterator<Item = Option<impl Into<Cow<'a, Self>>>>,
) -> Result<Box<dyn Array>, SerializationError>where
Self: 'a,
Given an iterator of options of owned or reference values to the current
Loggable
, serializes them into an Arrow2 array.
When using Rerun’s builtin components & datatypes, this can only fail if the data exceeds the maximum number of entries in an Arrow2 array (2^31 for standard arrays, 2^63 for large arrays).
sourcefn to_arrow<'a>(
data: impl IntoIterator<Item = impl Into<Cow<'a, Self>>>,
) -> Result<Arc<dyn Array>, SerializationError>where
Self: 'a,
fn to_arrow<'a>(
data: impl IntoIterator<Item = impl Into<Cow<'a, Self>>>,
) -> Result<Arc<dyn Array>, SerializationError>where
Self: 'a,
Given an iterator of owned or reference values to the current Loggable
, serializes
them into an Arrow array.
When using Rerun’s builtin components & datatypes, this can only fail if the data exceeds the maximum number of entries in an Arrow array (2^31 for standard arrays, 2^63 for large arrays).
sourcefn to_arrow2<'a>(
data: impl IntoIterator<Item = impl Into<Cow<'a, Self>>>,
) -> Result<Box<dyn Array>, SerializationError>where
Self: 'a,
fn to_arrow2<'a>(
data: impl IntoIterator<Item = impl Into<Cow<'a, Self>>>,
) -> Result<Box<dyn Array>, SerializationError>where
Self: 'a,
Given an iterator of owned or reference values to the current Loggable
, serializes
them into an Arrow2 array.
When using Rerun’s builtin components & datatypes, this can only fail if the data exceeds the maximum number of entries in an Arrow2 array (2^31 for standard arrays, 2^63 for large arrays).
sourcefn from_arrow(data: &dyn Array) -> Result<Vec<Self>, DeserializationError>
fn from_arrow(data: &dyn Array) -> Result<Vec<Self>, DeserializationError>
Given an Arrow array, deserializes it into a collection of Loggable
s.
sourcefn from_arrow2(
data: &(dyn Array + 'static),
) -> Result<Vec<Self>, DeserializationError>
fn from_arrow2( data: &(dyn Array + 'static), ) -> Result<Vec<Self>, DeserializationError>
Given an Arrow2 array, deserializes it into a collection of Loggable
s.
sourcefn from_arrow_opt(
data: &dyn Array,
) -> Result<Vec<Option<Self>>, DeserializationError>
fn from_arrow_opt( data: &dyn Array, ) -> Result<Vec<Option<Self>>, DeserializationError>
Given an Arrow array, deserializes it into a collection of optional Loggable
s.
sourcefn from_arrow2_opt(
data: &(dyn Array + 'static),
) -> Result<Vec<Option<Self>>, DeserializationError>
fn from_arrow2_opt( data: &(dyn Array + 'static), ) -> Result<Vec<Option<Self>>, DeserializationError>
Given an Arrow2 array, deserializes it into a collection of optional Loggable
s.