[−][src]Struct nbt::Blob
A generic, complete object in Named Binary Tag format.
This is essentially a map of names to Value
s, with an optional top-level
name of its own. It can be created in a similar way to a HashMap
, or read
from an io::Read
source, and its binary representation can be written to
an io::Write
destination.
These read and write methods support both uncompressed and compressed (through Gzip or zlib compression) methods.
use nbt::{Blob, Value}; // Create a `Blob` from key/value pairs. let mut nbt = Blob::new(); nbt.insert("name", "Herobrine").unwrap(); nbt.insert("health", 100i8).unwrap(); nbt.insert("food", 20.0f32).unwrap(); // Write a compressed binary representation to a byte array. let mut dst = Vec::new(); nbt.to_zlib_writer(&mut dst).unwrap();
Implementations
impl Blob
[src]
pub fn new() -> Blob
[src]
Create a new NBT file format representation with an empty name.
pub fn named<S>(name: S) -> Blob where
S: Into<String>,
[src]
S: Into<String>,
Create a new NBT file format representation with the given name.
pub fn from_reader<R>(src: &mut R) -> Result<Blob> where
R: Read,
[src]
R: Read,
Extracts an Blob
object from an io::Read
source.
pub fn from_gzip_reader<R>(src: &mut R) -> Result<Blob> where
R: Read,
[src]
R: Read,
Extracts an Blob
object from an io::Read
source that is
compressed using the Gzip format.
pub fn from_zlib_reader<R>(src: &mut R) -> Result<Blob> where
R: Read,
[src]
R: Read,
Extracts an Blob
object from an io::Read
source that is
compressed using the zlib format.
pub fn to_writer<W>(&self, dst: &mut W) -> Result<()> where
W: Write,
[src]
W: Write,
Writes the binary representation of this Blob
to an io::Write
destination.
pub fn to_gzip_writer<W>(&self, dst: &mut W) -> Result<()> where
W: Write,
[src]
W: Write,
Writes the binary representation of this Blob
, compressed using
the Gzip format, to an io::Write
destination.
pub fn to_zlib_writer<W>(&self, dst: &mut W) -> Result<()> where
W: Write,
[src]
W: Write,
Writes the binary representation of this Blob
, compressed using
the Zlib format, to an io::Write
dst.
pub fn insert<S, V>(&mut self, name: S, value: V) -> Result<()> where
S: Into<String>,
V: Into<Value>,
[src]
S: Into<String>,
V: Into<Value>,
Insert an Value
with a given name into this Blob
object. This
method is just a thin wrapper around the underlying map method of
the same name.
This method will also return an error if a Value::List
with
heterogeneous elements is passed in, because this is illegal in the NBT
file format.
pub fn get<S>(&self, name: S) -> Option<&Value> where
S: Into<&'static str>,
[src]
S: Into<&'static str>,
Tries to get a named Value
in the blob.
pub fn len_bytes(&self) -> usize
[src]
The number of bytes this blob will serialize to, before compression
Trait Implementations
impl Clone for Blob
[src]
impl Debug for Blob
[src]
impl Default for Blob
[src]
impl<'de> Deserialize<'de> for Blob
[src]
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error> where
D: Deserializer<'de>,
[src]
D: Deserializer<'de>,
impl Display for Blob
[src]
impl<'a> Index<&'a str> for Blob
[src]
type Output = Value
The returned type after indexing.
fn index<'b>(&'b self, s: &'a str) -> &'b Value
[src]
impl PartialEq<Blob> for Blob
[src]
impl Serialize for Blob
[src]
impl StructuralPartialEq for Blob
[src]
Auto Trait Implementations
impl RefUnwindSafe for Blob
impl Send for Blob
impl Sync for Blob
impl Unpin for Blob
impl UnwindSafe for Blob
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>,
[src]
T: for<'de> Deserialize<'de>,
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T> ToString for T where
T: Display + ?Sized,
[src]
T: Display + ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,