pub trait AttribAccess:
Send
+ Sized
+ 'static {
// Required methods
fn storage() -> StorageType;
fn storage_array() -> StorageType;
fn get(
name: &CStr,
node: &HoudiniNode,
info: &AttributeInfo,
part_id: i32,
buffer: &mut Vec<Self>,
) -> Result<()>;
fn get_async(
name: &CStr,
node: &HoudiniNode,
info: &AttributeInfo,
part_id: i32,
buffer: &mut Vec<Self>,
) -> Result<i32>;
fn set(
name: &CStr,
node: &HoudiniNode,
info: &AttributeInfo,
part_id: i32,
data: &[Self],
start: i32,
len: i32,
) -> Result<()>;
fn set_unique(
name: &CStr,
node: &HoudiniNode,
info: &AttributeInfo,
part_id: i32,
data: &[Self],
start: i32,
) -> Result<()>;
fn get_array(
name: &CStr,
node: &HoudiniNode,
info: &AttributeInfo,
part: i32,
) -> Result<DataArray<'static, Self>>
where [Self]: ToOwned<Owned = Vec<Self>>;
fn set_array(
name: &CStr,
node: &HoudiniNode,
info: &AttributeInfo,
part: i32,
data: &[Self],
sizes: &[i32],
) -> Result<()>
where [Self]: ToOwned<Owned = Vec<Self>>;
}Required Methods§
fn storage() -> StorageType
fn storage_array() -> StorageType
fn get( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part_id: i32, buffer: &mut Vec<Self>, ) -> Result<()>
fn get_async( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part_id: i32, buffer: &mut Vec<Self>, ) -> Result<i32>
fn set( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part_id: i32, data: &[Self], start: i32, len: i32, ) -> Result<()>
fn set_unique( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part_id: i32, data: &[Self], start: i32, ) -> Result<()>
fn get_array( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part: i32, ) -> Result<DataArray<'static, Self>>
fn set_array( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part: i32, data: &[Self], sizes: &[i32], ) -> Result<()>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.