re_cdr 0.1.0

CDR (Common Data Representation) encoding and decoding for ROS 2 / DDS messages
Documentation
//! CDR (Common Data Representation) serialization for ROS 2 / DDS data.
//!
//! Use serde for static message types, or [`CdrReader`] / [`CdrWriter`] when decoding from a
//! runtime schema.
//!
//! Pick [`LittleEndian`] or [`BigEndian`] from the CDR encapsulation header.

pub mod buffer;
pub mod deserializer;
pub mod error;
pub mod numeric;
pub mod primitives;
pub mod serializer;

pub use buffer::CdrBuffer;

pub use byteorder::{BigEndian, ByteOrder, LittleEndian};
pub use deserializer::{CdrDeserializer, from_bytes, from_bytes_with};
pub use error::{Error, Result};
pub use numeric::{CdrEndian, CdrPod};
pub use primitives::{CdrReader, CdrWriter};
pub use serializer::{CdrSerializer, to_buffer, to_vec, to_vec_reuse};

/// Native byte order.
///
/// Alias for [`LittleEndian`] on little-endian targets, [`BigEndian`] on big-endian targets.
#[cfg(target_endian = "little")]
pub type NativeEndian = LittleEndian;

#[cfg(target_endian = "big")]
pub type NativeEndian = BigEndian;