ivutils
Loading...
Searching...
No Matches
pencil< T, container_t > Class Template Reference

class for controlling one-dimensional data arrays of type T the array can be managed and copied by reference (ref counting used) compatible with vector<T> used as container More...

#include <pencil.h>

Public Member Functions

 pencil (int snmax=0, int sn=0)
 size of container (actual elements number)
 
 pencil (container_arg< container_t > arg, int snmax, int sn=0, int managed=0)
 Constructor form existing container.
 
 pencil (container_it first, container_it last, int snmax)
 creates unmanaged reference to the sequence
 
int resize (int newnmax, int newn=-1, const T &t=T())
 resizes the data: if newnmax==0, dereferences the old array if newnmax<=nmax, keeps the old one if newnmax>nmax dereferences the old array, allocates new, changes to master mode
 
 pencil (const pencil &other)
 copy constructor
 
penciloperator= (const pencil &other)
 reference copy
 
pencilcopy_data (const pencil &other, int mode=0)
 copies data from other pencil mode=0: if this size is too small, creates new reference data! in which case other referring pencils will not be updated mode=1: if this size is too small, copies the first portion of the data only
 
container_it get_ptr () const
 same as begin(), retained for compatibility
 
int shift_arr (int ind, int num)
 shifts array by num elements starting from ind
 
int num_copies ()
 gets the number of copies
 

Public Attributes

int n
 capacity of container
 

Detailed Description

template<class T, class container_t = ptr_container<T>>
class pencil< T, container_t >

class for controlling one-dimensional data arrays of type T the array can be managed and copied by reference (ref counting used) compatible with vector<T> used as container

Constructor & Destructor Documentation

◆ pencil()

template<class T , class container_t = ptr_container<T>>
pencil< T, container_t >::pencil ( container_arg< container_t >  arg,
int  snmax,
int  sn = 0,
int  managed = 0 
)
inline

Constructor form existing container.

Container pointer is to be used as the first argument, f.e. T* in case of pointer container or vector<T> * in case of vector container Container_arg makes the proper argument conversion if managed=0 will not delete ptr, 1-deletes, 2-makes a copy of sn elements and does not remember ptr


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