Struct Requirements

pub struct Requirements { pub file_format_version: u8, pub is_single_layer_and_tiled: bool, pub has_long_names: bool, pub has_deep_data: bool, pub has_multiple_layers: bool }

A summary of requirements that must be met to read this exr file.

Used to determine whether this file can be read by a given reader. It includes the OpenEXR version number. This library aims to support version 2.0.

Fields

file_format_version: u8

This library supports reading version 1 and 2, and writing version 2.

is_single_layer_and_tiled: bool

If true, this image has tiled blocks and contains only a single layer. If false and not deep and not multilayer, this image is a single layer image with scan line blocks.

has_long_names: bool

Whether this file has strings with a length greater than 31. Strings can never be longer than 255.

has_deep_data: bool

This image contains at least one layer with deep data.

has_multiple_layers: bool

Whether this file contains multiple layers.

Implementations

impl Requirements

fn is_multilayer(&self) -> bool

Is this file declared to contain multiple layers?

fn read<R: Read>(read: &mut R) -> Result<Self>

Read the value without validating.

fn write<W: Write>(self, write: &mut W) -> UnitResult

Without validation, write this instance to the byte stream.

fn validate(&self) -> UnitResult

Validate this instance.

Trait Implementations

impl Clone for Requirements

fn clone(&self) -> Self

impl Copy for Requirements

impl Debug for Requirements

fn fmt(&self, f: &mut Formatter<'_>) -> Result

impl Eq for Requirements

impl Hash for Requirements

fn hash<__H: Hasher>(&self, state: &mut __H)

impl PartialEq for Requirements

fn eq(&self, other: &Self) -> bool

impl StructuralPartialEq for Requirements

Auto Trait Implementations

impl Freeze for Requirements

impl RefUnwindSafe for Requirements

impl Send for Requirements

impl Sync for Requirements

impl Unpin for Requirements

impl UnsafeUnpin for Requirements

impl UnwindSafe for Requirements

Blanket Implementations

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for Requirements where ST: ?Sized, DT: ?Sized,

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for Requirements where ST: ?Sized, DT: ?Sized,

impl<T> Any for Requirements where T: 'static + ?Sized,

fn type_id(&self) -> TypeId

impl<T> Borrow<T> for Requirements where T: ?Sized,

fn borrow(&self) -> &T

impl<T> BorrowMut<T> for Requirements where T: ?Sized,

fn borrow_mut(&mut self) -> &mut T

impl<T> CloneToUninit for Requirements where T: Clone,

unsafe fn clone_to_uninit(&self, dest: *mut u8)

impl<T> From<T> for Requirements

fn from(t: T) -> T

Returns the argument unchanged.

impl<T> Pointable for Requirements

const ALIGN: usize = _;
type Init = T;
unsafe fn init(init: <T as Pointable>::Init) -> usize
unsafe fn deref<'a>(ptr: usize) -> &'a T
unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T
unsafe fn drop(ptr: usize)

impl<T> Read<Exclusive, BecauseExclusive> for Requirements where T: ?Sized,

impl<T> ToOwned for Requirements where T: Clone,

type Owned = T;
fn to_owned(&self) -> T
fn clone_into(&self, target: &mut T)

impl<T, U> Into<U> for Requirements where U: From<T>,

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of [From]<T> for U chooses to do.

impl<T, U> TryFrom<U> for Requirements where U: Into<T>,

type Error = never;
fn try_from(value: U) -> Result<T, never>

impl<T, U> TryInto<U> for Requirements where U: TryFrom<T>,

type Error = <U as TryFrom<T>>::Error;
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>