pub trait AttribAccess:
Sealed
+ Clone
+ Default
+ 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<JobId>;
fn set(
name: &CStr,
node: &HoudiniNode,
info: &AttributeInfo,
part_id: i32,
data: &[Self],
start: i32,
len: i32,
) -> Result<()>;
fn set_async(
name: &CStr,
node: &HoudiniNode,
info: &AttributeInfo,
part: i32,
data: &[Self],
start: i32,
len: i32,
) -> Result<JobId>;
fn set_unique(
name: &CStr,
node: &HoudiniNode,
info: &AttributeInfo,
part_id: i32,
data: &[Self],
start: i32,
) -> Result<()>;
fn set_unique_async(
name: &CStr,
node: &HoudiniNode,
info: &AttributeInfo,
part_id: i32,
data: &[Self],
start: i32,
) -> Result<JobId>;
fn get_array(
name: &CStr,
node: &HoudiniNode,
info: &AttributeInfo,
part: i32,
) -> Result<DataArray<'static, Self>>
where [Self]: ToOwned<Owned = Vec<Self>>;
fn get_array_async(
name: &CStr,
node: &HoudiniNode,
info: &AttributeInfo,
data: &mut [Self],
sizes: &mut [i32],
part: i32,
) -> Result<JobId>;
fn set_array(
name: &CStr,
node: &HoudiniNode,
info: &AttributeInfo,
part: i32,
data: &[Self],
sizes: &[i32],
) -> Result<()>
where [Self]: ToOwned<Owned = Vec<Self>>;
fn set_array_async(
name: &CStr,
node: &HoudiniNode,
info: &AttributeInfo,
part: i32,
data: &[Self],
sizes: &[i32],
) -> Result<JobId>;
}
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<JobId>
fn set( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part_id: i32, data: &[Self], start: i32, len: i32, ) -> Result<()>
fn set_async( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part: i32, data: &[Self], start: i32, len: i32, ) -> Result<JobId>
fn set_unique( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part_id: i32, data: &[Self], start: i32, ) -> Result<()>
fn set_unique_async( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part_id: i32, data: &[Self], start: i32, ) -> Result<JobId>
fn get_array( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part: i32, ) -> Result<DataArray<'static, Self>>
fn get_array_async( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, data: &mut [Self], sizes: &mut [i32], part: i32, ) -> Result<JobId>
fn set_array( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part: i32, data: &[Self], sizes: &[i32], ) -> Result<()>
fn set_array_async( name: &CStr, node: &HoudiniNode, info: &AttributeInfo, part: i32, data: &[Self], sizes: &[i32], ) -> Result<JobId>
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.