Skip to main content

EncodeField

Trait EncodeField 

Source
pub trait EncodeField {
    // Required method
    fn encode_field(&self) -> Result<Value>;

    // Provided method
    fn encode_optional_field(&self) -> Result<Option<Value>> { ... }
}
Expand description

Internal/public field encoder used by generated implementations.

Required Methods§

Source

fn encode_field(&self) -> Result<Value>

Encodes one struct field into an MMDB value.

§Examples
use libmaxminddb_rs::{EncodeField, Value};
assert_eq!(64512_u32.encode_field()?, Value::Uint32(64512));

Provided Methods§

Source

fn encode_optional_field(&self) -> Result<Option<Value>>

Encodes a field for insertion into a struct map.

Most field types return Some(value). Option<T> overrides this hook so None omits the field entirely, matching MMDB’s lack of a null data type.

§Examples
use libmaxminddb_rs::EncodeField;
assert!(Option::<u32>::None.encode_optional_field()?.is_none());

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl EncodeField for &str

Source§

impl EncodeField for String

Source§

impl EncodeField for bool

Source§

impl EncodeField for f32

Source§

impl EncodeField for f64

Source§

impl EncodeField for i32

Source§

impl EncodeField for str

Source§

impl EncodeField for u16

Source§

impl EncodeField for u32

Source§

impl EncodeField for u64

Source§

impl EncodeField for u128

Source§

impl<T: EncodeField> EncodeField for BTreeMap<String, T>

Source§

impl<T: EncodeField> EncodeField for Option<T>

Source§

impl<T: EncodeField> EncodeField for Vec<T>

Source§

impl<T: EncodeField> EncodeField for [T]

Implementors§