pub struct RecordBuilder { /* private fields */ }Expand description
Builder for creating LnmpRecords with guaranteed canonical field ordering
This builder accumulates fields and sorts them by FID before creating the final record, ensuring canonical representation regardless of the order in which fields are added.
Implementations§
Source§impl RecordBuilder
impl RecordBuilder
Sourcepub fn new() -> Self
pub fn new() -> Self
Creates a new empty builder
§Example
use lnmp_core::RecordBuilder;
let builder = RecordBuilder::new();Sourcepub fn add_field(self, field: LnmpField) -> Self
pub fn add_field(self, field: LnmpField) -> Self
Adds a field to the builder
Fields will be automatically sorted by FID when build() is called.
§Example
use lnmp_core::{RecordBuilder, LnmpField, LnmpValue};
let record = RecordBuilder::new()
.add_field(LnmpField { fid: 10, value: LnmpValue::Int(1) })
.build();Sourcepub fn add_fields(self, fields: impl IntoIterator<Item = LnmpField>) -> Self
pub fn add_fields(self, fields: impl IntoIterator<Item = LnmpField>) -> Self
Adds multiple fields at once
§Example
use lnmp_core::{RecordBuilder, LnmpField, LnmpValue};
let fields = vec![
LnmpField { fid: 10, value: LnmpValue::Int(1) },
LnmpField { fid: 20, value: LnmpValue::Int(2) },
];
let record = RecordBuilder::new()
.add_fields(fields)
.build();Sourcepub fn build(self) -> LnmpRecord
pub fn build(self) -> LnmpRecord
Builds the record with fields sorted by FID
This consumes the builder and returns an LnmpRecord with fields
in canonical order (sorted by field ID).
§Example
use lnmp_core::{RecordBuilder, LnmpField, LnmpValue};
let record = RecordBuilder::new()
.add_field(LnmpField { fid: 23, value: LnmpValue::Int(3) })
.add_field(LnmpField { fid: 7, value: LnmpValue::Int(1) })
.build();
// Fields are sorted
assert_eq!(record.fields()[0].fid, 7);
assert_eq!(record.fields()[1].fid, 23);Trait Implementations§
Source§impl Clone for RecordBuilder
impl Clone for RecordBuilder
Source§fn clone(&self) -> RecordBuilder
fn clone(&self) -> RecordBuilder
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for RecordBuilder
impl Debug for RecordBuilder
Source§impl Default for RecordBuilder
impl Default for RecordBuilder
Source§fn default() -> RecordBuilder
fn default() -> RecordBuilder
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for RecordBuilder
impl RefUnwindSafe for RecordBuilder
impl Send for RecordBuilder
impl Sync for RecordBuilder
impl Unpin for RecordBuilder
impl UnwindSafe for RecordBuilder
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more