UniShader  1.0.0a
Interface for GPGPU and working with shader programs
 All Classes Functions Typedefs Enumerations Enumerator
Public Types | Public Member Functions | Static Public Member Functions
Buffer< T > Class Template Reference

Buffer class. More...

#include <Buffer.h>

Inheritance diagram for Buffer< T >:
BufferBase ObjectBase

List of all members.

Public Types

typedef std::shared_ptr
< Buffer< T > > 
Ptr
 Shared pointer.
typedef std::shared_ptr< const
Buffer< T > > 
PtrConst
 Shared pointer.

Public Member Functions

virtual const std::string & getClassName () const
 Get name of this class.
bool getDataCopy (std::vector< T > &vec) const
 Get data copy.
bool getDataCopy (T *arr, unsigned int &size) const
 Get data copy.
std::string getString (unsigned int begin=0, unsigned int count=0, std::ostringstream &format=std::ostringstream()) const
 Get string.
bool setData (const std::vector< T > &vec)
 Set data.
bool setData (const T *arr, unsigned int size)
 Set data.

Static Public Member Functions

static Ptr create ()
 Create buffer.

Detailed Description

template<typename T>
class Buffer< T >

Buffer class.

Templated buffer class is interface for manipulating buffer objects. It is allowed to use buffer only for input or output at a time. Using buffer as both input and output at the same time can result in undefined behaviour.


Member Function Documentation

template<typename T >
Buffer< T >::Ptr Buffer< T >::create ( ) [static]

Create buffer.

Returns:
Buffer.
template<typename T>
bool Buffer< T >::getDataCopy ( std::vector< T > &  vec) const

Get data copy.

Copies buffer data from graphics card memory to vector.

Parameters:
vecVector storage for data. Passed vector must be empty.
Returns:
True if data were copied successfully.
template<typename T>
bool Buffer< T >::getDataCopy ( T *  arr,
unsigned int &  size 
) const

Get data copy.

Copies buffer data from graphics card memory to array.

Parameters:
arrPointer to data. Passed pointer must be NULL.
sizeSize of array in elements.
Returns:
True if data were copied successfully.
template<typename T >
std::string Buffer< T >::getString ( unsigned int  begin = 0,
unsigned int  count = 0,
std::ostringstream &  format = std::ostringstream() 
) const

Get string.

Convert values to string. Values are delimited by space.

Parameters:
beginFirst index.
countNumber of elements to convert.
formatFormated ostrinstream object used for conversion.
Returns:
Nonempty string if data were retrieved successfully and buffer is not zero sized.
template<typename T>
bool Buffer< T >::setData ( const std::vector< T > &  vec)

Set data.

Parameters:
vecVector with data.
Returns:
True if data were set successfully.
template<typename T>
bool Buffer< T >::setData ( const T *  arr,
unsigned int  size 
)

Set data.

Parameters:
arrArray with data.
sizeSize of array in elements.
Returns:
True if data were set successfully.

The documentation for this class was generated from the following files: