cgv
cgv::data::const_data_view Class Reference

#include <data_view.h>

Inheritance diagram for cgv::data::const_data_view:
cgv::data::data_view_impl< const_data_view, const unsigned char * > cgv::data::data_view_base

Public Member Functions

 const_data_view ()
 construct an empty data view without format and with empty data pointer*‍/
 
 const_data_view (const data_view &dv)
 copy construct from a non const data view
 
 const_data_view (const data_format *_format, const void *_data_ptr)
 
const_data_viewoperator= (const const_data_view &dv)
 assignment of const_data_view never gains ownership of format or data
 
void set_ptr (const void *ptr)
 set a different data pointer
 
bool empty () const
 return whether the data pointer is a null pointer
 
cgv::type::func::transfer_const< const unsigned char *, S * >::type get_ptr () const
 return a data pointer to type S
 
cgv::type::func::transfer_const< const unsigned char *, S * >::type get_ptr (int i) const
 return a pointer to type S for i-th data entry
 
cgv::type::func::transfer_const< const unsigned char *, S * >::type get_ptr (int i, int j) const
 return a pointer to type S for (i,j)-th data entry
 
cgv::type::func::transfer_const< const unsigned char *, S * >::type get_ptr (int i, int j, int k) const
 return a pointer to type S for (i,j,k)-th data entry
 
cgv::type::func::transfer_const< const unsigned char *, S * >::type get_ptr (int i, int j, int k, int l) const
 return a pointer to type S for (i,j,k,l)-th data entry
 
get (int ci) const
 constant access to the ci-th component
 
get (int ci, int i) const
 constant access to the ci-th component of i-th data entry
 
get (int ci, int i, int j) const
 constant access to the ci-th component of (i,j)-th data entry
 
get (int ci, int i, int j, int k) const
 constant access to the ci-th component of (i,j,k)-th data entry
 
get (int ci, int i, int j, int k, int l) const
 constant access to the ci-th component of (i,j,k,l)-th data entry
 
const_data_view operator() (unsigned int i) const
 access to i-th data entry
 
const_data_view operator() (unsigned int i, unsigned int j) const
 access to entry at (i,j)
 
const_data_view operator() (unsigned int i, unsigned int j, unsigned int k) const
 access to entry at (i,j,k)
 
const_data_view operator() (unsigned int i, unsigned int j, unsigned int k, unsigned int l) const
 access to entry at (i,j,k,l)
 
const_data_view permute (const std::string &permutation) const
 
const_data_view transpose () const
 transpose is equivalent to permute("ji")
 
cgv::type::func::transfer_const< const unsigned char *, S * >::type step_i (S *ptr, int n=1) const
 return a pointer that points to the n-th next location if index i is increase by n
 
cgv::type::func::transfer_const< const unsigned char *, S * >::type step_j (S *ptr, int n=1) const
 return a pointer that points to the n-th next location if index j is increase by n
 
cgv::type::func::transfer_const< const unsigned char *, S * >::type step_k (S *ptr, int n=1) const
 return a pointer that points to the n-th next location if index k is increase by n
 
cgv::type::func::transfer_const< const unsigned char *, S * >::type step_l (S *ptr, int n=1) const
 return a pointer that points to the n-th next location if index l is increase by n
 
void manage_format (bool enable=true)
 whether to manage the data format pointer
 
const data_formatget_format () const
 return the component format
 
void set_format (const data_format *_format)
 set a new data format
 
unsigned int get_dim () const
 return the dimension of the data view, which is less or equal to the dimension of the data format
 
unsigned int get_step_size (unsigned int dim) const
 return the step size in bytes in the i-th dimension
 

Protected Member Functions

 const_data_view (const data_format *_format, const unsigned char *_data_ptr, unsigned int _dim, const unsigned int *_step_sizes)
 use base class for construction
 

Protected Attributes

const unsigned char * data_ptr
 data pointer of type unsigned char or const unsigned char
 
bool owns_format
 whether to own the data format
 

Friends

class data_view_impl< const_data_view, const unsigned char * >
 declare base as friend
 

Detailed Description

The const_data_view has the functionality of the data_view but uses a const pointer and therefore does not allow to manage the pointer nor to set the data.

Constructor & Destructor Documentation

◆ const_data_view()

cgv::data::const_data_view::const_data_view ( const data_format _format,
const void *  _data_ptr 
)

construct a data view from the given format, viewing the complete data set pointed to by the passed data pointer

Member Function Documentation

◆ permute()

const_data_view cgv::data::data_view_impl< const_data_view , const unsigned char * >::permute ( const std::string &  permutation) const
inherited

permute the order of the indices, where the permutation argument "kji" implies that after the permutation the operator (i,j,k) returns the same as the operator (k,j,i) before the call to permute. The permutation string must have at least two entries. If it has n entries it must contain each of the first n letters of "ijkl" exactly once, i.e. "ik" would be invalid, whereas "ikj" is a valid permutation.


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