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.