PIP 5.6.1
Platform-Independent Primitives
Public Member Functions | List of all members
PIVector2D< T >::Col Class Reference

Proxy class representing a single column in a PIVector2D for modification. Objects of this class are returned by non-const col(). They provide column-wise access and operations similar to Row. More...

#include <pivector2d.h>

Inheritance diagram for PIVector2D< T >::Col:
Inheritance graph
[legend]

Public Member Functions

T & operator[] (size_t index)
 Accesses the element at the given row index within the column.
 
T * data (size_t index=0)
 Returns a pointer to the column data starting at an optional row offset. Note that column elements are not stored contiguously in memory, so this pointer cannot be used to iterate over the whole column.
 
Coloperator= (const Col &other)
 Assigns the contents of another Col to this column.
 
Coloperator= (const PIVector< T > &other)
 Assigns the contents of a PIVector to this column.
 
void forEach (std::function< void(T &)> func)
 Applies a function to each element of the column (modifiable). The function can modify the elements. More...
 
void fill (const T &value)
 Fills the column with copies of value. More...
 
const T * data (size_t index=0) const
 Returns a const pointer to the column data starting at an optional row offset.
 
size_t size () const
 Size of the column (number of rows).
 
- Public Member Functions inherited from PIVector2D< T >::ColConst
 ColConst (const PIVector2D< T >::Col &c)
 Copy constructor from modifiable Col to read-only ColConst. More...
 
size_t size () const
 Size of the column (number of rows).
 
const T & operator[] (size_t index) const
 Const access to the element at the given row index within the column.
 
const T * data (size_t index=0) const
 Returns a const pointer to the column data starting at an optional row offset.
 
PIVector< T > toVector () const
 Converts the column to a PIVector.
 
ssize_t indexOf (const T &e, ssize_t start=0) const
 Returns the first index of element e in the row, starting from start. See PIVector::indexOf() for details on negative start handling. More...
 
ssize_t lastIndexOf (const T &e, ssize_t start=-1) const
 Returns the last index of element e in the row, searching backwards from start. More...
 
ssize_t indexWhere (std::function< bool(const T &e)> test, ssize_t start=0) const
 Returns the first index where the predicate test returns true, starting from start. More...
 
ssize_t lastIndexWhere (std::function< bool(const T &e)> test, ssize_t start=-1) const
 Returns the last index where the predicate test returns true, searching backwards from start. More...
 
void forEach (std::function< void(const T &)> func) const
 Applies a function to each element of the column (read-only). The function can't modify the elements. More...
 
bool contains (const T &e, ssize_t start=0) const
 Checks if the column contains the element e. More...
 
int entries (const T &e, ssize_t start=0) const
 Counts occurrences of e in the column. More...
 
int entries (std::function< bool(const T &e)> test, ssize_t start=0) const
 Counts elements in the column that pass the test. More...
 
bool any (std::function< bool(const T &e)> test) const
 Tests if any element in the column passes the test. More...
 
bool every (std::function< bool(const T &e)> test) const
 Tests if all elements in the column pass the test. More...
 

Detailed Description

template<typename T>
class PIVector2D< T >::Col

Proxy class representing a single column in a PIVector2D for modification. Objects of this class are returned by non-const col(). They provide column-wise access and operations similar to Row.

Member Function Documentation

◆ forEach()

template<typename T >
void PIVector2D< T >::Col::forEach ( std::function< void(T &)>  func)
inline

Applies a function to each element of the column (modifiable). The function can modify the elements.

See also
PIVector::forEach()

◆ fill()

template<typename T >
void PIVector2D< T >::Col::fill ( const T &  value)
inline

Fills the column with copies of value.

See also
PIVector::fill()