pub unsafe trait DataType {
    type Type: ToOwned + ?Sized;

    // Required methods
    unsafe fn set(attr: &mut AttrValue, val: &Self::Type) -> Result<()>;
    unsafe fn get(attr: AttrValue) -> Result<<Self::Type as ToOwned>::Owned>;
}
Expand description

A trait to get and set OCI attributes as rust types. You have no need to use this except implementing OciAttr for your type.

Required Associated Types§

Required Methods§

source

unsafe fn set(attr: &mut AttrValue, val: &Self::Type) -> Result<()>

source

unsafe fn get(attr: AttrValue) -> Result<<Self::Type as ToOwned>::Owned>

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl DataType for bool

§

type Type = bool

source§

unsafe fn set(attr: &mut AttrValue, val: &bool) -> Result<()>

source§

unsafe fn get(attr: AttrValue) -> Result<bool>

source§

impl DataType for *mut c_void

§

type Type = *mut c_void

source§

unsafe fn set(attr: &mut AttrValue, val: &*mut c_void) -> Result<()>

source§

unsafe fn get(attr: AttrValue) -> Result<*mut c_void>

source§

impl DataType for str

§

type Type = str

source§

unsafe fn set(attr: &mut AttrValue, val: &str) -> Result<()>

source§

unsafe fn get(attr: AttrValue) -> Result<String>

source§

impl DataType for u8

§

type Type = u8

source§

unsafe fn set(attr: &mut AttrValue, val: &u8) -> Result<()>

source§

unsafe fn get(attr: AttrValue) -> Result<u8>

source§

impl DataType for u16

§

type Type = u16

source§

unsafe fn set(attr: &mut AttrValue, val: &u16) -> Result<()>

source§

unsafe fn get(attr: AttrValue) -> Result<u16>

source§

impl DataType for u32

§

type Type = u32

source§

unsafe fn set(attr: &mut AttrValue, val: &u32) -> Result<()>

source§

unsafe fn get(attr: AttrValue) -> Result<u32>

source§

impl DataType for u64

§

type Type = u64

source§

unsafe fn set(attr: &mut AttrValue, val: &u64) -> Result<()>

source§

unsafe fn get(attr: AttrValue) -> Result<u64>

source§

impl DataType for [u8]

§

type Type = [u8]

source§

unsafe fn set(attr: &mut AttrValue, val: &[u8]) -> Result<()>

source§

unsafe fn get(attr: AttrValue) -> Result<Vec<u8>>

Implementors§