custos/static_api/
impl_buffer.rs

1use crate::Buffer;
2
3use super::static_cpu;
4
5impl<'a, T: Clone> From<&[T]> for Buffer<'a, T> {
6    fn from(slice: &[T]) -> Self {
7        let device = static_cpu();
8        Buffer::from((device, slice))
9    }
10}
11
12impl<'a, T: Clone, const N: usize> From<&[T; N]> for Buffer<'a, T> {
13    fn from(slice: &[T; N]) -> Self {
14        let device = static_cpu();
15        Buffer::from((device, slice))
16    }
17}
18
19impl<'a, T: Clone, const N: usize> From<[T; N]> for Buffer<'a, T> {
20    fn from(slice: [T; N]) -> Self {
21        let device = static_cpu();
22        Buffer::from((device, slice))
23    }
24}
25
26impl<'a, T: Clone> From<Vec<T>> for Buffer<'a, T> {
27    fn from(data: Vec<T>) -> Self {
28        let device = static_cpu();
29        Buffer::from((device, data))
30    }
31}