Struct glin::buffer_object::SharedBufferImmutable [−][src]
pub struct SharedBufferImmutable<T> { /* fields omitted */ }
Wrapper around a BufferObjectImmutable with internal reference counting
Useful for example when the same buffer or ranges of the same buffer are to be used in different VAOs
Methods
impl<T: 'static> SharedBufferImmutable<T>
[src]
impl<T: 'static> SharedBufferImmutable<T>
pub fn update(&mut self, data: &[T])
[src]
pub fn update(&mut self, data: &[T])
pub fn map_read<F: Fn(&[T])>(&self, flags: MapReadFlags, f: F) -> Result<()>
[src]
pub fn map_read<F: Fn(&[T])>(&self, flags: MapReadFlags, f: F) -> Result<()>
pub fn map_write<F: Fn(&mut [T])>(
&mut self,
flags: MapWriteFlags,
f: F
) -> Result<()>
[src]
pub fn map_write<F: Fn(&mut [T])>(
&mut self,
flags: MapWriteFlags,
f: F
) -> Result<()>
pub fn map_read_write<F: Fn(&mut [T])>(
&mut self,
flags: MapReadWriteFlags,
f: F
) -> Result<()>
[src]
pub fn map_read_write<F: Fn(&mut [T])>(
&mut self,
flags: MapReadWriteFlags,
f: F
) -> Result<()>
pub fn copy_to<U, B: BufferRange<U> + WithBackendMut<T>>(&self, dst: &mut B)
[src]
pub fn copy_to<U, B: BufferRange<U> + WithBackendMut<T>>(&self, dst: &mut B)
pub fn len(&self) -> usize
[src]
pub fn len(&self) -> usize
pub fn capacity(&self) -> usize
[src]
pub fn capacity(&self) -> usize
pub fn bytes(&self) -> usize
[src]
pub fn bytes(&self) -> usize
pub fn capacity_bytes(&self) -> usize
[src]
pub fn capacity_bytes(&self) -> usize
pub fn id(&self) -> GLuint
[src]
pub fn id(&self) -> GLuint
pub fn stride(&self) -> usize
[src]
pub fn stride(&self) -> usize
pub fn range<R: InputRange>(
&self,
range: R
) -> Range<T, SharedBufferImmutable<T>, SharedBufferImmutable<T>>
[src]
pub fn range<R: InputRange>(
&self,
range: R
) -> Range<T, SharedBufferImmutable<T>, SharedBufferImmutable<T>>
pub fn range_mut<R: InputRange>(
&mut self,
range: R
) -> Range<T, SharedBufferImmutable<T>, SharedBufferImmutable<T>>
[src]
pub fn range_mut<R: InputRange>(
&mut self,
range: R
) -> Range<T, SharedBufferImmutable<T>, SharedBufferImmutable<T>>
Get a mutable range from the buffer
Useful to do operations on portions of the buffer
Panics if the range is out of bounds
Trait Implementations
impl<T: 'static> TypedBufferObject<T> for SharedBufferImmutable<T>
[src]
impl<T: 'static> TypedBufferObject<T> for SharedBufferImmutable<T>
fn id(&self) -> GLuint
[src]
fn id(&self) -> GLuint
OpenGL id
fn len(&self) -> usize
[src]
fn len(&self) -> usize
Number of elements on the last update
fn capacity(&self) -> usize
[src]
fn capacity(&self) -> usize
Allocated capacity of the buffer in number of elements
fn map_read<F: Fn(&[T])>(&self, flags: MapReadFlags, f: F) -> Result<()>
[src]
fn map_read<F: Fn(&[T])>(&self, flags: MapReadFlags, f: F) -> Result<()>
Maps a buffer object's data store Read more
fn copy_to<U, B: BufferRange<U> + WithBackendMut<T>>(&self, dst: &mut B)
[src]
fn copy_to<U, B: BufferRange<U> + WithBackendMut<T>>(&self, dst: &mut B)
Copy one buffer into another
fn bytes(&self) -> usize
[src]
fn bytes(&self) -> usize
Total bytes on the last update
fn capacity_bytes(&self) -> usize
[src]
fn capacity_bytes(&self) -> usize
Total capcacity of the buffer in bytes
fn stride(&self) -> usize
[src]
fn stride(&self) -> usize
Stride of the buffer type
impl<'a, T: 'static> TypedBufferObjectMut<T> for SharedBufferImmutable<T>
[src]
impl<'a, T: 'static> TypedBufferObjectMut<T> for SharedBufferImmutable<T>
fn map_write<F: Fn(&mut [T])>(
&mut self,
flags: MapWriteFlags,
f: F
) -> Result<()>
[src]
fn map_write<F: Fn(&mut [T])>(
&mut self,
flags: MapWriteFlags,
f: F
) -> Result<()>
Maps a buffer object's data store Read more
fn map_read_write<F: Fn(&mut [T])>(
&mut self,
flags: MapReadWriteFlags,
f: F
) -> Result<()>
[src]
fn map_read_write<F: Fn(&mut [T])>(
&mut self,
flags: MapReadWriteFlags,
f: F
) -> Result<()>
Maps a buffer object's data store Read more
impl<T: 'static> BufferRange<T> for SharedBufferImmutable<T>
[src]
impl<T: 'static> BufferRange<T> for SharedBufferImmutable<T>
impl<T: 'static> BufferRangeMut<T> for SharedBufferImmutable<T>
[src]
impl<T: 'static> BufferRangeMut<T> for SharedBufferImmutable<T>
impl<T: Debug> Debug for SharedBufferImmutable<T>
[src]
impl<T: Debug> Debug for SharedBufferImmutable<T>
fn fmt(&self, f: &mut Formatter) -> Result
[src]
fn fmt(&self, f: &mut Formatter) -> Result
Formats the value using the given formatter. Read more
impl<T: Eq> Eq for SharedBufferImmutable<T>
[src]
impl<T: Eq> Eq for SharedBufferImmutable<T>
impl<T: PartialEq> PartialEq for SharedBufferImmutable<T>
[src]
impl<T: PartialEq> PartialEq for SharedBufferImmutable<T>
fn eq(&self, other: &SharedBufferImmutable<T>) -> bool
[src]
fn eq(&self, other: &SharedBufferImmutable<T>) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &SharedBufferImmutable<T>) -> bool
[src]
fn ne(&self, other: &SharedBufferImmutable<T>) -> bool
This method tests for !=
.
impl<T> Clone for SharedBufferImmutable<T>
[src]
impl<T> Clone for SharedBufferImmutable<T>
fn clone(&self) -> SharedBufferImmutable<T>
[src]
fn clone(&self) -> SharedBufferImmutable<T>
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
Auto Trait Implementations
impl<T> !Send for SharedBufferImmutable<T>
impl<T> !Send for SharedBufferImmutable<T>
impl<T> !Sync for SharedBufferImmutable<T>
impl<T> !Sync for SharedBufferImmutable<T>