pub enum Metadata {
Rank {
var: Variable,
},
Stride {
dim: Variable,
var: Variable,
},
Shape {
dim: Variable,
var: Variable,
},
Length {
var: Variable,
},
BufferLength {
var: Variable,
},
}Expand description
All metadata that can be accessed in a shader.
Variants§
Rank
The rank of an array.
Stride
The stride of an array at the given dimension.
Shape
The shape of an array at the given dimension.
Length
The length of an array.
BufferLength
The length of an array’s underlying buffer.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Metadata
impl<'de> Deserialize<'de> for Metadata
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<Metadata, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<Metadata, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl OperationReflect for Metadata
impl OperationReflect for Metadata
Source§type OpCode = MetadataOpCode
type OpCode = MetadataOpCode
Type of the op codes for this operation
Source§fn args(&self) -> Option<Vec<Variable>>
fn args(&self) -> Option<Vec<Variable>>
Get the list of arguments for this operation. If not all arguments are
Variable, returns
None instead.Source§fn from_code_and_args(
op_code: <Metadata as OperationReflect>::OpCode,
args: &[Variable],
) -> Option<Metadata>
fn from_code_and_args( op_code: <Metadata as OperationReflect>::OpCode, args: &[Variable], ) -> Option<Metadata>
Create typed operation from an opcode and a list of arguments. Returns
None if not all
arguments are Variable.Source§fn is_commutative(&self) -> bool
fn is_commutative(&self) -> bool
Whether this operation is commutative (arguments can be freely reordered). Ignored for
single argument operations.
Source§impl Serialize for Metadata
impl Serialize for Metadata
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
impl Eq for Metadata
impl StructuralPartialEq for Metadata
Auto Trait Implementations§
impl Freeze for Metadata
impl RefUnwindSafe for Metadata
impl Send for Metadata
impl Sync for Metadata
impl Unpin for Metadata
impl UnsafeUnpin for Metadata
impl UnwindSafe for Metadata
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
Source§impl<C> CloneExpand for Cwhere
C: Clone,
impl<C> CloneExpand for Cwhere
C: Clone,
fn __expand_clone_method(&self, _scope: &mut Scope) -> C
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> CompilationArg for T
impl<T> CompilationArg for T
Source§fn dynamic_cast<Arg>(&self) -> Argwhere
Arg: CompilationArg,
fn dynamic_cast<Arg>(&self) -> Argwhere
Arg: CompilationArg,
Compilation args should be the same even with different element types. However, it isn’t
possible to enforce it with the type system. So, we make the compilation args serializable
and dynamically cast them. Read more
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.