pub struct OwnedRset { /* private fields */ }Expand description
A freshly-built record set not yet inserted into a Db. Owns its
rec_rset_t until handed to Db::append_rset, at which point ownership
is transferred to the containing database.
Implementations§
Source§impl OwnedRset
impl OwnedRset
Sourcepub fn new() -> Self
pub fn new() -> Self
Examples found in repository?
examples/write_rec.rs (line 12)
9fn main() -> Result<(), Box<dyn std::error::Error>> {
10 let mut db = Db::new();
11
12 let mut rset = OwnedRset::new();
13
14 let mut descriptor = Record::new();
15 descriptor.append_field("%rec", "Book")?;
16 descriptor.append_field("%type", "Year int")?;
17 descriptor.append_field("%mandatory", "Title")?;
18 rset.set_descriptor(descriptor);
19
20 for (title, author, year) in [
21 ("Refactoring", "Martin Fowler", "1999"),
22 ("Domain-Driven Design", "Eric Evans", "2003"),
23 ("Test-Driven Development", "Kent Beck", "2002"),
24 ] {
25 let mut record = Record::new();
26 record.append_field("Title", title)?;
27 record.append_field("Author", author)?;
28 record.append_field("Year", year)?;
29 rset.append_record(record)?;
30 }
31
32 db.append_rset(rset)?;
33 println!("{}", db.to_rec_string()?);
34 Ok(())
35}Sourcepub fn set_descriptor(&mut self, record: Record)
pub fn set_descriptor(&mut self, record: Record)
Install record as this rset’s descriptor (the %rec: / %type: /
%mandatory: block). Ownership of the record transfers to the rset.
Replaces and destroys any prior descriptor.
Examples found in repository?
examples/write_rec.rs (line 18)
9fn main() -> Result<(), Box<dyn std::error::Error>> {
10 let mut db = Db::new();
11
12 let mut rset = OwnedRset::new();
13
14 let mut descriptor = Record::new();
15 descriptor.append_field("%rec", "Book")?;
16 descriptor.append_field("%type", "Year int")?;
17 descriptor.append_field("%mandatory", "Title")?;
18 rset.set_descriptor(descriptor);
19
20 for (title, author, year) in [
21 ("Refactoring", "Martin Fowler", "1999"),
22 ("Domain-Driven Design", "Eric Evans", "2003"),
23 ("Test-Driven Development", "Kent Beck", "2002"),
24 ] {
25 let mut record = Record::new();
26 record.append_field("Title", title)?;
27 record.append_field("Author", author)?;
28 record.append_field("Year", year)?;
29 rset.append_record(record)?;
30 }
31
32 db.append_rset(rset)?;
33 println!("{}", db.to_rec_string()?);
34 Ok(())
35}Sourcepub fn append_record(&mut self, record: Record) -> Result<(), Error>
pub fn append_record(&mut self, record: Record) -> Result<(), Error>
Examples found in repository?
examples/write_rec.rs (line 29)
9fn main() -> Result<(), Box<dyn std::error::Error>> {
10 let mut db = Db::new();
11
12 let mut rset = OwnedRset::new();
13
14 let mut descriptor = Record::new();
15 descriptor.append_field("%rec", "Book")?;
16 descriptor.append_field("%type", "Year int")?;
17 descriptor.append_field("%mandatory", "Title")?;
18 rset.set_descriptor(descriptor);
19
20 for (title, author, year) in [
21 ("Refactoring", "Martin Fowler", "1999"),
22 ("Domain-Driven Design", "Eric Evans", "2003"),
23 ("Test-Driven Development", "Kent Beck", "2002"),
24 ] {
25 let mut record = Record::new();
26 record.append_field("Title", title)?;
27 record.append_field("Author", author)?;
28 record.append_field("Year", year)?;
29 rset.append_record(record)?;
30 }
31
32 db.append_rset(rset)?;
33 println!("{}", db.to_rec_string()?);
34 Ok(())
35}Trait Implementations§
Auto Trait Implementations§
impl Freeze for OwnedRset
impl RefUnwindSafe for OwnedRset
impl !Send for OwnedRset
impl !Sync for OwnedRset
impl Unpin for OwnedRset
impl UnsafeUnpin for OwnedRset
impl UnwindSafe for OwnedRset
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