SLIP  1.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | Static Public Attributes | Friends | List of all members
slip::RegularVector2dField2d< T, GridT > Class Template Reference

This is a 2d Field containing slip::Vector2d associated with a regular grid. This container statisfies the BidirectionnalContainer concepts of the STL. It is also an 2d extension of the RandomAccessContainer concept. That is to say the bracket element access is replaced by the double bracket element access. It is a specialization of GenericMultiComponent2d using Vector2d blocks. It implements arithmetic and mathematical operators (divergence, vorticity, derivative...) and read/write methods (tecplot and gnuplot file format). The points of the Vector field grid are assumed to be spaced by two regular steps. The inital point (closest point from the physical axis origin) of the grid is also stored within the data structure. More...

#include <RegularVector2dField2d.hpp>

Inheritance diagram for slip::RegularVector2dField2d< T, GridT >:
Inheritance graph

Public Types

typedef slip::Vector2d< T > value_type
 
typedef RegularVector2dField2d
< T, GridT > 
self
 
typedef const
RegularVector2dField2d< T,
GridT > 
const_self
 
typedef
GenericMultiComponent2d
< slip::Vector2d< T > > 
base
 
typedef value_typepointer
 
typedef const value_typeconst_pointer
 
typedef value_typereference
 
typedef const value_typeconst_reference
 
typedef ptrdiff_t difference_type
 
typedef std::size_t size_type
 
typedef pointer iterator
 
typedef const_pointer const_iterator
 
typedef std::reverse_iterator
< iterator
reverse_iterator
 
typedef std::reverse_iterator
< const_iterator
const_reverse_iterator
 
typedef pointer row_iterator
 
typedef const_pointer const_row_iterator
 
typedef slip::stride_iterator
< pointer
col_iterator
 
typedef slip::stride_iterator
< const_pointer
const_col_iterator
 
typedef std::reverse_iterator
< iterator
reverse_row_iterator
 
typedef std::reverse_iterator
< const_iterator
const_reverse_row_iterator
 
typedef std::reverse_iterator
< col_iterator
reverse_col_iterator
 
typedef std::reverse_iterator
< const_col_iterator
const_reverse_col_iterator
 
typedef
slip::GenericMultiComponent2d
< slip::Vector2d< T >
>::iterator2d 
iterator2d
 
typedef
slip::GenericMultiComponent2d
< slip::Vector2d< T >
>::const_iterator2d 
const_iterator2d
 
typedef T vector2d_value_type
 
typedef GridT grid_value_type
 
typedef vector2d_value_typevector2d_pointer
 
typedef const vector2d_value_typeconst_vector2d_pointer
 
typedef vector2d_value_typevector2d_reference
 
typedef const vector2d_value_type const_vector2d_reference
 
typedef slip::kstride_iterator
< vector2d_pointer, 2 > 
vector2d_iterator
 
typedef slip::kstride_iterator
< const_vector2d_pointer, 2 > 
const_vector2d_iterator
 
typedef slip::lin_alg_traits
< value_type >::value_type 
norm_type
 
typedef slip::stride_iterator
< pointer
row_range_iterator
 
typedef slip::stride_iterator
< const_pointer
const_row_range_iterator
 
typedef slip::stride_iterator
< col_iterator
col_range_iterator
 
typedef slip::stride_iterator
< const_col_iterator
const_col_range_iterator
 
typedef slip::Matrix
< slip::Vector2d< T >
>::iterator2d_range 
iterator2d_range
 
typedef slip::Matrix
< slip::Vector2d< T >
>::const_iterator2d_range 
const_iterator2d_range
 
typedef slip::Vector2d< T >
::value_type 
block_value_type
 
typedef block_value_typeblock_pointer
 
typedef const block_value_typeconst_block_pointer
 
typedef block_value_typeblock_reference
 
typedef const block_value_type const_block_reference
 
typedef slip::kstride_iterator
< typename slip::Vector2d< T >
::pointer, slip::Vector2d< T >
::SIZE > 
component_iterator
 
typedef slip::kstride_iterator
< typename slip::Vector2d< T >
::const_pointer,
slip::Vector2d< T >::SIZE > 
const_component_iterator
 
typedef std::reverse_iterator
< iterator2d
reverse_iterator2d
 
typedef std::reverse_iterator
< const_iterator2d
const_reverse_iterator2d
 
typedef std::reverse_iterator
< row_range_iterator
reverse_row_range_iterator
 
typedef std::reverse_iterator
< const_row_range_iterator
const_reverse_row_range_iterator
 
typedef std::reverse_iterator
< col_range_iterator
reverse_col_range_iterator
 
typedef std::reverse_iterator
< const_col_range_iterator
const_reverse_col_range_iterator
 
typedef std::reverse_iterator
< iterator2d_range
reverse_iterator2d_range
 
typedef std::reverse_iterator
< const_iterator2d_range
const_reverse_iterator2d_range
 
typedef std::reverse_iterator
< component_iterator
reverse_component_iterator
 
typedef std::reverse_iterator
< const_component_iterator
const_reverse_component_iterator
 
typedef component_iterator component_row_iterator
 
typedef const_component_iterator const_component_row_iterator
 
typedef slip::stride_iterator
< block_pointer
component_row_range_iterator
 
typedef slip::stride_iterator
< const_block_pointer
const_component_row_range_iterator
 
typedef std::reverse_iterator
< component_row_iterator
reverse_component_row_iterator
 
typedef std::reverse_iterator
< const_component_row_iterator
const_reverse_component_row_iterator
 
typedef std::reverse_iterator
< component_row_range_iterator
reverse_component_row_range_iterator
 
typedef std::reverse_iterator
< const_component_row_range_iterator
const_reverse_component_row_range_iterator
 
typedef slip::stride_iterator
< block_pointer
component_col_iterator
 
typedef slip::stride_iterator
< const_block_pointer
const_component_col_iterator
 
typedef slip::stride_iterator
< block_pointer
component_col_range_iterator
 
typedef slip::stride_iterator
< const_block_pointer
const_component_col_range_iterator
 
typedef std::reverse_iterator
< component_col_iterator
reverse_component_col_iterator
 
typedef std::reverse_iterator
< const_component_col_iterator
const_reverse_component_col_iterator
 
typedef std::reverse_iterator
< component_col_range_iterator
reverse_component_col_range_iterator
 
typedef std::reverse_iterator
< const_component_col_range_iterator
const_reverse_component_col_range_iterator
 
typedef
slip::component_iterator2d_box
< self, slip::Vector2d< T >
::SIZE > 
component_iterator2d
 
typedef std::reverse_iterator
< component_iterator2d
reverse_component_iterator2d
 
typedef
slip::const_component_iterator2d_box
< const_self, slip::Vector2d
< T >::SIZE > 
const_component_iterator2d
 
typedef std::reverse_iterator
< const_component_iterator2d
const_reverse_component_iterator2d
 
typedef
slip::component_iterator2d_range
< self, slip::Vector2d< T >
::SIZE > 
component_iterator2d_range
 
typedef std::reverse_iterator
< component_iterator2d_range
reverse_component_iterator2d_range
 
typedef
slip::const_component_iterator2d_range
< const_self, slip::Vector2d
< T >::SIZE > 
const_component_iterator2d_range
 
typedef std::reverse_iterator
< const_component_iterator2d_range
const_reverse_component_iterator2d_range
 
typedef iterator2d default_iterator
 
typedef const_iterator2d const_default_iterator
 

Public Member Functions

std::string name () const
 Returns the name of the class. More...
 
void resize (const size_type height, const size_type width, const slip::Vector2d< T > &val=slip::Vector2d< T >())
 Resizes a GenericMultiComponent2d. More...
 
size_type dim1 () const
 Returns the number of rows (first dimension size) in the GenericMultiComponent2d. More...
 
size_type rows () const
 Returns the number of rows (first dimension size) in the GenericMultiComponent2d. More...
 
size_type height () const
 Returns the height (first dimension size) in the GenericMultiComponent2d. More...
 
size_type dim2 () const
 Returns the number of columns (second dimension size) in the GenericMultiComponent2d. More...
 
size_type columns () const
 Returns the number of columns (second dimension size) in the GenericMultiComponent2d. More...
 
size_type cols () const
 Returns the number of columns (second dimension size) in the GenericMultiComponent2d. More...
 
size_type width () const
 Returns the number of columns (second dimension size) in the GenericMultiComponent2d. More...
 
size_type size () const
 Returns the number of elements in the GenericMultiComponent2d. More...
 
size_type max_size () const
 Returns the maximal size (number of elements) in the GenericMultiComponent2d. More...
 
bool empty () const
 Returns true if the GenericMultiComponent2d is empty. (Thus size() == 0) More...
 
void swap (self &M)
 Swaps data with another GenericMultiComponent2d. More...
 
slip::Vector2d< T > min () const
 Returns the min elements of the GenericMultiComponent2d according to the operator <. More...
 
slip::Vector2d< T > max () const
 Returns the max elements of the GenericMultiComponent2d according to the operator <. More...
 
GenericMultiComponent2d
< slip::Vector2d< T > > & 
apply (slip::Vector2d< T >(*fun)(slip::Vector2d< T >))
 Returns the sums of the elements of the GenericMultiComponent2d. More...
 
GenericMultiComponent2d
< slip::Vector2d< T > > & 
apply (slip::Vector2d< T >(*fun)(const slip::Vector2d< T > &))
 Applys the one-parameter C-function fun to each element of the GenericMultiComponent2d. More...
 
Constructors & Destructors

Regular Field Vector manipulation

 RegularVector2dField2d ()
 Constructs a RegularVector2dField2d. More...
 
 RegularVector2dField2d (const size_type height, const size_type width)
 Constructs a RegularVector2dField2d. More...
 
 RegularVector2dField2d (const size_type height, const size_type width, const slip::Point2d< GridT > &init_point, const slip::Point2d< GridT > &grid_step)
 Constructs a RegularVector2dField2d. More...
 
 RegularVector2dField2d (const size_type height, const size_type width, const slip::Vector2d< T > &val)
 Constructs a RegularVector2dField2d initialized by the scalar value val. More...
 
 RegularVector2dField2d (const size_type height, const size_type width, const slip::Point2d< GridT > &init_point, const slip::Point2d< GridT > &grid_step, const slip::Vector2d< T > &val)
 Constructs a RegularVector2dField2d initialized by the scalar value val. More...
 
 RegularVector2dField2d (const size_type height, const size_type width, const T *val)
 Constructs a RegularVector2dField2d initialized by an array val. More...
 
 RegularVector2dField2d (const size_type height, const size_type width, const slip::Point2d< GridT > &init_point, const slip::Point2d< GridT > &grid_step, const T *val)
 Constructs a RegularVector2dField2d initialized by an array val. More...
 
 RegularVector2dField2d (const size_type height, const size_type width, const slip::Vector2d< T > *val)
 Constructs a RegularVector2dField2d initialized by an array val. More...
 
 RegularVector2dField2d (const size_type height, const size_type width, const slip::Point2d< GridT > &init_point, const slip::Point2d< GridT > &grid_step, const slip::Vector2d< T > *val)
 Constructs a RegularVector2dField2d initialized by an array val. More...
 
template<typename InputIterator >
 RegularVector2dField2d (const size_type height, const size_type width, InputIterator first, InputIterator last)
 Contructs a RegularVector2dField2d from a range. More...
 
template<typename InputIterator >
 RegularVector2dField2d (const size_type height, const size_type width, const slip::Point2d< GridT > &init_point, const slip::Point2d< GridT > &grid_step, InputIterator first, InputIterator last)
 Contructs a RegularVector2dField2d from a range. More...
 
template<typename InputIterator >
 RegularVector2dField2d (const size_type height, const size_type width, InputIterator first1, InputIterator last1, InputIterator first2)
 Contructs a RegularVector2dField2d from a 2 ranges. More...
 
template<typename InputIterator >
 RegularVector2dField2d (const size_type height, const size_type width, const slip::Point2d< GridT > &init_point, const slip::Point2d< GridT > &grid_step, InputIterator first1, InputIterator last1, InputIterator first2)
 Contructs a RegularVector2dField2d from a 2 ranges. More...
 
 RegularVector2dField2d (const self &rhs)
 Constructs a copy of the RegularVector2dField2d rhs. More...
 
 ~RegularVector2dField2d ()
 Destructor of the RegularVector2dField2d. More...
 
Assignment operators and methods
selfoperator= (const slip::Vector2d< T > &val)
 Affects all the element of the RegularVector2dField2d by val. More...
 
selfoperator= (const T &val)
 Affects all the element of the RegularVector2dField2d by val. More...
 
Element access operators
T & Vx1 (const size_type i, const size_type j)
 Subscript access to first element of the data contained in the RegularVector2dField2d. More...
 
const T & Vx1 (const size_type i, const size_type j) const
 Subscript access to the data contained in the RegularVector2dField2d. More...
 
T & Vx2 (const size_type i, const size_type j)
 Subscript access to second element of the data contained in the RegularVector2dField2d. More...
 
const T & Vx2 (const size_type i, const size_type j) const
 Subscript access to second element of the data contained in the RegularVector2dField2d. More...
 
T & u (const size_type i, const size_type j)
 Subscript access to first element of the data contained in the RegularVector2dField2d. More...
 
const T & u (const size_type i, const size_type j) const
 Subscript access to the first element of the data contained in the RegularVector2dField2d. More...
 
T & v (const size_type i, const size_type j)
 Subscript access to second element of the data contained in the RegularVector2dField2d. More...
 
const T & v (const size_type i, const size_type j) const
 Subscript access to second element of the data contained in the RegularVector2dField2d. More...
 
norm_type norm (const size_type i, const size_type j) const
 Subscript access to a local norm contained in the RegularVector2dField2d. More...
 
norm_type angle (const size_type i, const size_type j) const
 Subscript access to a local angle contained in the RegularVector2dField2d. The result is a radian between the range [-PI,PI]. More...
 
const GridT x1 (const size_type i, const size_type j) const
 Subscript access to the real x1 value of the indexed (i,j) point of the RegularVector2dField2d. More...
 
const GridT x2 (const size_type i, const size_type j) const
 Subscript access to the real x2 value of the indexed (i,j) point of the RegularVector2dField2d. More...
 
const GridT x (const size_type i, const size_type j) const
 Subscript access to the real x1 value of the indexed (i,j) point of the RegularVector2dField2d. More...
 
const GridT y (const size_type i, const size_type j) const
 Subscript access to the real x2 value of the indexed (i,j) point of the RegularVector2dField2d. More...
 
void set_init_point (const slip::Point2d< GridT > &init_point)
 Write access to the init point of the grid. More...
 
const slip::Point2d< GridT > & get_init_point () const
 Read access to the init point of the grid. More...
 
void set_grid_step (const slip::Point2d< GridT > &grid_step)
 Write access to the grid step of the grid. More...
 
const slip::Point2d< GridT > & get_grid_step () const
 Read access to the init point of the grid. More...
 
Arithmetic operators
selfoperator+= (const T &val)
 Add val to each element of the RegularVector2dField2d. More...
 
selfoperator-= (const T &val)
 
selfoperator*= (const T &val)
 
selfoperator/= (const T &val)
 
self operator- () const
 
selfoperator+= (const slip::Vector2d< T > &val)
 Add val to each element of the RegularVector2dField2d. More...
 
selfoperator-= (const slip::Vector2d< T > &val)
 
selfoperator*= (const slip::Vector2d< T > &val)
 
selfoperator/= (const slip::Vector2d< T > &val)
 
selfoperator+= (const self &rhs)
 
selfoperator-= (const self &rhs)
 
selfoperator*= (const self &rhs)
 
selfoperator/= (const self &rhs)
 
Mathematical operators
template<typename Container2D >
void derivative (const std::size_t component, const slip::SPATIAL_DIRECTION der_dir, const std::size_t der_order, const std::size_t sch_order, Container2D &result) const
 Computes finite differences derivatives of a RegularVector2dField2d. More...
 
template<typename Container2D >
void derivative (const std::size_t component, const slip::SPATIAL_DIRECTION der_dir, const std::size_t der_order, const std::size_t sch_order, const slip::Box2d< int > box, Container2D &result) const
 Computes finite differences derivatives of a RegularVector2dField2d. More...
 
template<typename Container2D >
void divergence (const std::size_t sch_order, Container2D &result) const
 Computes finite differences divergence of a RegularVector2dField2d. More...
 
template<typename Container2D >
void vorticity (const std::size_t sch_order, Container2D &result) const
 Computes finite differences vorticity (curl) of a RegularVector2dField2d. More...
 
template<typename Container2D >
void lambda2 (const std::size_t sch_order, Container2D &result)
 Computes finite differences lambda2 of a RegularVector2dField2d. More...
 
template<typename Container2D >
void norm (Container2D &result)
 Computes Eucliean norm of each element in the field and write it to a Container2D. More...
 
template<typename Container2D >
void angle (Container2D &result)
 Computes angle (radian) of each element with the cartesian axis and write it to a Container2D. More...
 
iterators
iterator begin ()
 Returns a read/write iterator that points to the first element in the GenericMultiComponent2d. Iteration is done in ordinary element order. More...
 
const_iterator begin () const
 Returns a read-only (constant) iterator that points to the first element in the GenericMultiComponent2d. Iteration is done in ordinary element order. More...
 
component_iterator begin (const std::size_t component)
 Returns a read/write iterator that points to the first element in the GenericMultiComponent2d. Iteration is done in ordinary element order. More...
 
const_component_iterator begin (const std::size_t component) const
 Returns a read-only (constant) iterator that points to the first element in the GenericMultiComponent2d. Iteration is done in ordinary element order. More...
 
iterator end ()
 Returns a read/write iterator that points one past the last element in the GenericMultiComponent2d. Iteration is done in ordinary element order. More...
 
const_iterator end () const
 Returns a read-only (constant) iterator that points one past the last element in the GenericMultiComponent2d. Iteration is done in ordinary element order. More...
 
component_iterator end (const std::size_t component)
 Returns a read/write iterator that points one past the last element in the GenericMultiComponent2d. Iteration is done in ordinary element order. More...
 
const_component_iterator end (const std::size_t component) const
 Returns a read-only (constant) iterator that points one past the last element in the GenericMultiComponent2d. Iteration is done in ordinary element order. More...
 
reverse_iterator rbegin ()
 Returns a read/write reverse iterator that points to the last element in the GenericMultiComponent2d. Iteration is done in reverse element order. More...
 
const_reverse_iterator rbegin () const
 Returns a read-only (constant) reverse iterator that points to the last element in the GenericMultiComponent2d. Iteration is done in reverse element order. More...
 
reverse_component_iterator rbegin (const std::size_t component)
 Returns a read/write iterator that points to the first element in the GenericMultiComponent2d. Iteration is done in ordinary element order. More...
 
const_reverse_component_iterator rbegin (const std::size_t component) const
 Returns a read-only (constant) iterator that points to the first element in the GenericMultiComponent2d. Iteration is done in ordinary element order. More...
 
reverse_iterator rend ()
 Returns a read/write reverse iterator that points to one before the first element in the GenericMultiComponent2d. Iteration is done in reverse element order. More...
 
const_reverse_iterator rend () const
 Returns a read-only (constant) reverse iterator that points to one before the first element in the GenericMultiComponent2d. Iteration is done in reverse element order. More...
 
reverse_component_iterator rend (const std::size_t component)
 Returns a read/write iterator that points one past the last element in the GenericMultiComponent2d. Iteration is done in ordinary element order. More...
 
const_reverse_component_iterator rend (const std::size_t component) const
 Returns a read-only (constant) iterator that points one past the last element in the GenericMultiComponent2d. Iteration is done in ordinary element order. More...
 
row_iterator row_begin (const size_type row)
 Returns a read/write iterator that points to the first element of the row row in the GenericMultiComponent2d. Iteration is done in ordinary element order. More...
 
const_row_iterator row_begin (const size_type row) const
 Returns a read-only iterator that points to the first element of the row row in the GenericMultiComponent2d. Iteration is done in ordinary element order. More...
 
row_range_iterator row_begin (const size_type row, const slip::Range< int > &range)
 Returns a read/write iterator that points to the first element of the Range range of the row row in the GenericMultiComponent2d. Iteration is done in ordinary element order according to the Range. More...
 
const_row_range_iterator row_begin (const size_type row, const slip::Range< int > &range) const
 Returns a read-only iterator that points to the first element of the Range range of the row row in the GenericMultiComponent2d. Iteration is done in ordinary element order according to the Range. More...
 
component_row_iterator row_begin (const std::size_t component, const std::size_t row)
 Returns a read/write iterator that points to the first element in the GenericMultiComponent2d. Iteration is done in ordinary element order. More...
 
const_component_row_iterator row_begin (const std::size_t component, const std::size_t row) const
 Returns a read-only (constant) iterator that points to the first element in the GenericMultiComponent2d. Iteration is done in ordinary element order. More...
 
component_row_range_iterator row_begin (const std::size_t component, const size_type row, const slip::Range< int > &range)
 Returns a read/write iterator that points to the first element of the Range range of the row row in the GenericMultiComponent2d. Iteration is done in ordinary element order according to the Range. More...
 
const_component_row_range_iterator row_begin (const std::size_t component, const size_type row, const slip::Range< int > &range) const
 Returns a read-only iterator that points to the first element of the Range range of the row row in the GenericMultiComponent2d. Iteration is done in ordinary element order according to the Range. More...
 
row_iterator row_end (const size_type row)
 Returns a read/write iterator that points one past the end element of the row row in the GenericMultiComponent2d. Iteration is done in ordinary element order. More...
 
const_row_iterator row_end (const size_type row) const
 Returns a read-only iterator that points one past the end element of the row row in the GenericMultiComponent2d. Iteration is done in ordinary element order. More...
 
row_range_iterator row_end (const size_type row, const slip::Range< int > &range)
 Returns a read/write iterator that points one past the end element of the Range range of the row row in the GenericMultiComponent2d. Iteration is done in ordinary element order according to the Range. More...
 
const_row_range_iterator row_end (const size_type row, const slip::Range< int > &range) const
 Returns a read_only iterator that points one past the last element of the Range range of the row row in the GenericMultiComponent2d. Iteration is done in ordinary element order according to the Range. More...
 
component_row_iterator row_end (const std::size_t component, const std::size_t row)
 Returns a read/write iterator that points one past the last element in the GenericMultiComponent2d. Iteration is done in ordinary element order. More...
 
const_component_row_iterator row_end (const std::size_t component, const std::size_t row) const
 Returns a read-only (constant) iterator that points one past the last element in the GenericMultiComponent2d. Iteration is done in ordinary element order. More...
 
component_row_range_iterator row_end (const std::size_t component, const size_type row, const slip::Range< int > &range)
 Returns a read/write iterator that points one past the end element of the Range range of the row row in the GenericMultiComponent2d. Iteration is done in ordinary element order according to the Range. More...
 
const_component_row_range_iterator row_end (const std::size_t component, const size_type row, const slip::Range< int > &range) const
 Returns a read_only iterator that points one past the last element of the Range range of the row row in the GenericMultiComponent2d. Iteration is done in ordinary element order according to the Range. More...
 
col_iterator col_begin (const size_type col)
 Returns a read/write iterator that points to the first element of the column column in the GenericMultiComponent2d. Iteration is done modulo the number of columns. More...
 
const_col_iterator col_begin (const size_type col) const
 Returns a read-only iterator that points to the first element of the column column in the GenericMultiComponent2d. Iteration is done modulo the number of columns. More...
 
col_range_iterator col_begin (const size_type col, const slip::Range< int > &range)
 Returns a read-write iterator that points to the first element of the Range range of the col col in the GenericMultiComponent2d. Iteration is done in ordinary element order according to the Range. More...
 
const_col_range_iterator col_begin (const size_type col, const slip::Range< int > &range) const
 Returns a read-only iterator that points to the first element of the Range range of the col col in the GenericMultiComponent2d. Iteration is done in ordinary element order according to the Range. More...
 
component_col_iterator col_begin (const std::size_t component, const std::size_t col)
 Returns a read/write iterator that points to the first element in the GenericMultiComponent2d. Iteration is done in ordinary element order. More...
 
const_component_col_iterator col_begin (const std::size_t component, const std::size_t col) const
 Returns a read-only (constant) iterator that points to the first element in the GenericMultiComponent2d. Iteration is done in ordinary element order. More...
 
component_col_range_iterator col_begin (const std::size_t component, const size_type col, const slip::Range< int > &range)
 Returns a read-write iterator that points to the first element of the Range range of the col col in the GenericMultiComponent2d. Iteration is done in ordinary element order according to the Range. More...
 
const_component_col_range_iterator col_begin (const std::size_t component, const size_type col, const slip::Range< int > &range) const
 Returns a read-only iterator that points to the first element of the Range range of the col col in the GenericMultiComponent2d. Iteration is done in ordinary element order according to the Range. More...
 
col_iterator col_end (const size_type col)
 Returns a read/write iterator that points one past the end element of the column column in the GenericMultiComponent2d. Iteration is done modulo the number of columns. More...
 
const_col_iterator col_end (const size_type col) const
 Returns a read-only iterator that points one past the end element of the column column in the GenericMultiComponent2d. Iteration is done modulo the number of columns. More...
 
col_range_iterator col_end (const size_type col, const slip::Range< int > &range)
 Returns a read-write iterator that points to the past the end element of the Range range of the col col in the GenericMultiComponent2d. Iteration is done in ordinary element order according to the Range. More...
 
const_col_range_iterator col_end (const size_type col, const slip::Range< int > &range) const
 Returns a read-only iterator that points to the past the end element of the Range range of the col col in the GenericMultiComponent2d. Iteration is done in ordinary element order according to the Range. More...
 
component_col_iterator col_end (const std::size_t component, const std::size_t col)
 Returns a read/write iterator that points one past the last element in the GenericMultiComponent2d. Iteration is done in ordinary element order. More...
 
const_component_col_iterator col_end (const std::size_t component, const std::size_t col) const
 Returns a read-only (constant) iterator that points one past the last element in the GenericMultiComponent2d. Iteration is done in ordinary element order. More...
 
component_col_range_iterator col_end (const std::size_t component, const size_type col, const slip::Range< int > &range)
 Returns a read-write iterator that points to the past the end element of the Range range of the col col in the GenericMultiComponent2d. Iteration is done in ordinary element order according to the Range. More...
 
const_component_col_range_iterator col_end (const std::size_t component, const size_type col, const slip::Range< int > &range) const
 Returns a read-only iterator that points to the past the end element of the Range range of the col col in the GenericMultiComponent2d. Iteration is done in ordinary element order according to the Range. More...
 
reverse_row_iterator row_rbegin (const size_type row)
 Returns a read/write reverse iterator that points to the last element of the row row in the GenericMultiComponent2d. Iteration is done in the reverse element order. More...
 
const_reverse_row_iterator row_rbegin (const size_type row) const
 Returns a read-only reverse iterator that points to the last element of the row row in the GenericMultiComponent2d. Iteration is done in the reverse element order. More...
 
reverse_row_range_iterator row_rbegin (const size_type row, const slip::Range< int > &range)
 Returns a read-write iterator that points to the last element of the Range range of the row row in the GenericMultiComponent2d. Iteration is done in the reverse element order according to the Range. More...
 
const_reverse_row_range_iterator row_rbegin (const size_type row, const slip::Range< int > &range) const
 Returns a read-only iterator that points to the last element of the Range range of the row row in the GenericMultiComponent2d. Iteration is done in the reverse element order according to the Range. More...
 
reverse_component_row_iterator row_rbegin (const std::size_t component, const std::size_t row)
 Returns a read/write iterator that points to the first element in the GenericMultiComponent2d. Iteration is done in ordinary element order. More...
 
const_reverse_component_row_iterator row_rbegin (const std::size_t component, const std::size_t row) const
 Returns a read-only (constant) iterator that points to the first element in the GenericMultiComponent2d. Iteration is done in ordinary element order. More...
 
reverse_component_row_range_iterator row_rbegin (const std::size_t component, const size_type row, const slip::Range< int > &range)
 Returns a read-write iterator that points to the last element of the Range range of the row row in the GenericMultiComponent2d. Iteration is done in the reverse element order according to the Range. More...
 
const_reverse_component_row_range_iterator row_rbegin (const std::size_t component, const size_type row, const slip::Range< int > &range) const
 Returns a read-only iterator that points to the last element of the Range range of the row row in the GenericMultiComponent2d. Iteration is done in the reverse element order according to the Range. More...
 
reverse_row_iterator row_rend (const size_type row)
 Returns a read/write reverse iterator that points one past the first element of the row row in the GenericMultiComponent2d. Iteration is done in the reverse element order. More...
 
const_reverse_row_iterator row_rend (const size_type row) const
 Returns a read-only reverse iterator that points one past the first element of the row row in the GenericMultiComponent2d. Iteration is done in the reverse element order. More...
 
reverse_row_range_iterator row_rend (const size_type row, const slip::Range< int > &range)
 Returns a read-write iterator that points one before the first element of the Range range of the row row in the GenericMultiComponent2d. Iteration is done in the reverse element order according to the Range. More...
 
const_reverse_row_range_iterator row_rend (const size_type row, const slip::Range< int > &range) const
 Returns a read-only iterator that points one before the first element of the Range range of the row row in the GenericMultiComponent2d. Iteration is done in the reverse element order according to the Range. More...
 
reverse_component_row_iterator row_rend (const std::size_t component, const std::size_t row)
 Returns a read/write iterator that points one past the last element in the GenericMultiComponent2d. Iteration is done in ordinary element order. More...
 
const_reverse_component_row_iterator row_rend (const std::size_t component, const std::size_t row) const
 Returns a read-only (constant) iterator that points one past the last element in the GenericMultiComponent2d. Iteration is done in ordinary element order. More...
 
reverse_component_row_range_iterator row_rend (const std::size_t component, const size_type row, const slip::Range< int > &range)
 Returns a read-write iterator that points one before the first element of the Range range of the row row in the GenericMultiComponent2d. Iteration is done in the reverse element order according to the Range. More...
 
const_reverse_component_row_range_iterator row_rend (const std::size_t component, const size_type row, const slip::Range< int > &range) const
 Returns a read-only iterator that points one before the first element of the Range range of the row row in the GenericMultiComponent2d. Iteration is done in the reverse element order according to the Range. More...
 
reverse_col_iterator col_rbegin (const size_type col)
 Returns a read/write reverse iterator that points to the last element of the column column in the GenericMultiComponent2d. Iteration is done modulo the number of columns and in the reverse element order. More...
 
const_reverse_col_iterator col_rbegin (const size_type col) const
 Returns a read-only reverse iterator that points to the last element of the column column in the GenericMultiComponent2d. Iteration is done modulo the number of columns and in the reverse element order. More...
 
reverse_col_range_iterator col_rbegin (const size_type col, const slip::Range< int > &range)
 Returns a read-write iterator that points to the last element of the Range range of the col col in the GenericMultiComponent2d. Iteration is done in the reverse element order according to the Range. More...
 
const_reverse_col_range_iterator col_rbegin (const size_type col, const slip::Range< int > &range) const
 Returns a read_only iterator that points to the last element of the Range & range of the col col in the GenericMultiComponent2d. Iteration is done in the reverse element order according to the Range. More...
 
reverse_component_col_iterator col_rbegin (const std::size_t component, const std::size_t col)
 Returns a read/write iterator that points to the last element of the col col in the GenericMultiComponent2d. Iteration is done in reverse element order. More...
 
const_reverse_component_col_iterator col_rbegin (const std::size_t component, const std::size_t col) const
 Returns a read-only (constant) iterator that points to the last element of the col col in the GenericMultiComponent2d. Iteration is done in reverse element order. More...
 
reverse_component_col_range_iterator col_rbegin (const std::size_t component, const size_type col, const slip::Range< int > &range)
 Returns a read-write iterator that points to the last element of the Range range of the col col in the GenericMultiComponent2d. Iteration is done in the reverse element order according to the Range. More...
 
const_reverse_component_col_range_iterator col_rbegin (const std::size_t component, const size_type col, const slip::Range< int > &range) const
 Returns a read_only iterator that points to the last element of the Range & range of the col col in the GenericMultiComponent2d. Iteration is done in the reverse element order according to the Range. More...
 
reverse_col_iterator col_rend (const size_type col)
 Returns a read/write reverse iterator that points one past the first element of the column column in the GenericMultiComponent2d. Iteration is done modulo the number of columns and in the reverse element order. More...
 
const_reverse_col_iterator col_rend (const size_type col) const
 Returns a read-only reverse iterator that points one past the first element of the column column in the GenericMultiComponent2d. Iteration is done modulo the number of columns and in the reverse element order. More...
 
reverse_col_range_iterator col_rend (const size_type col, const slip::Range< int > &range)
 Returns a read-write iterator that points to one before the first element of the Range range of the col col in the GenericMultiComponent2d. Iteration is done in the reverse element order according to the Range. More...
 
const_reverse_col_range_iterator col_rend (const size_type col, const slip::Range< int > &range) const
 Returns a read-only iterator that points to the first element of the Range range of the col col in the GenericMultiComponent2d. Iteration is done in the reverse element order according to the Range. More...
 
reverse_component_col_iterator col_rend (const std::size_t component, const std::size_t col)
 Returns a read/write iterator that points one before the first element of the col col in the GenericMultiComponent2d. Iteration is done in the reverse element order. More...
 
const_reverse_component_col_iterator col_rend (const std::size_t component, const std::size_t col) const
 Returns a read-only (constant) iterator that points one before the first element of the col col in the GenericMultiComponent2d. Iteration is done in ordinary element order. More...
 
reverse_component_col_range_iterator col_rend (const std::size_t component, const size_type col, const slip::Range< int > &range)
 Returns a read-write iterator that points to one before the first element of the Range range of the col col in the GenericMultiComponent2d. Iteration is done in the reverse element order according to the Range. More...
 
const_reverse_component_col_range_iterator col_rend (const std::size_t component, const size_type col, const slip::Range< int > &range) const
 Returns a read-only iterator that points to the first element of the Range range of the col col in the GenericMultiComponent2d. Iteration is done in the reverse element order according to the Range. More...
 
iterator2d upper_left ()
 Returns a read/write iterator2d that points to the first element of the GenericMultiComponent2d. It points to the upper left element of the GenericMultiComponent2d. More...
 
const_iterator2d upper_left () const
 Returns a read-only iterator2d that points to the first element of the GenericMultiComponent2d. It points to the upper left element of the GenericMultiComponent2d. More...
 
iterator2d upper_left (const Box2d< int > &box)
 Returns a read/write iterator2d that points to the first element of the GenericMultiComponent2d. It points to the upper left element of the Box2d associated to the GenericMultiComponent2d. More...
 
const_iterator2d upper_left (const Box2d< int > &box) const
 Returns a read only iterator2d that points to the first element of the GenericMultiComponent2d. It points to the upper left element of the Box2d associated to the GenericMultiComponent2d. More...
 
iterator2d_range upper_left (const Range< int > &row_range, const Range< int > &col_range)
 Returns a read/write iterator2d_range that points to the upper left element of the ranges row_range and col_range associated to the GenericMultiComponent2d. More...
 
const_iterator2d_range upper_left (const Range< int > &row_range, const Range< int > &col_range) const
 Returns a read-only iterator2d_range that points to the to the upper left element of the ranges row_range and col_range associated to the GenericMultiComponent2d. More...
 
iterator2d_range upper_left (const Range< int > &range)
 Returns a read/write iterator2d_range that points to the upper left element of the Range range associated to the GenericMultiComponent2d. The same range is applied for rows and cols. More...
 
const_iterator2d_range upper_left (const Range< int > &range) const
 Returns a read-only iterator2d_range that points to the to the upper left element of the Range range associated to the GenericMultiComponent2d. More...
 
component_iterator2d upper_left (const std::size_t component)
 Returns a read/write component_iterator2d that points to the first element of the GenericMultiComponent2d. It points to the upper left element of the GenericMultiComponent2d. More...
 
const_component_iterator2d upper_left (const std::size_t component) const
 Returns a read only const_component_iterator2d that points to the first element of the GenericMultiComponent2d. It points to the upper left element of the GenericMultiComponent2d. More...
 
component_iterator2d upper_left (const std::size_t component, const Box2d< int > &box)
 Returns a read/write component iterator2d that points to the first element of the GenericMultiComponent2d. It points to the upper left element of the Box2d associated to the GenericMultiComponent2d. More...
 
const_component_iterator2d upper_left (const std::size_t component, const Box2d< int > &box) const
 Returns a read only component iterator2d that points to the first element of the GenericMultiComponent2d. It points to the upper left element of the Box2d associated to the GenericMultiComponent2d. More...
 
component_iterator2d_range upper_left (const std::size_t component, const Range< int > &row_range, const Range< int > &col_range)
 Returns a read/write component iterator2d_range that points to the upper left element of the ranges row_range and col_range associated to the GenericMultiComponent2d. More...
 
const_component_iterator2d_range upper_left (const std::size_t component, const Range< int > &row_range, const Range< int > &col_range) const
 Returns a read-only component iterator2d_range that points to the to the upper left element of the ranges row_range and col_range associated to the GenericMultiComponent2d. More...
 
iterator2d bottom_right ()
 Returns a read/write iterator2d that points to the past the end element of the GenericMultiComponent2d. It points to past the end element of the bottom right element of the GenericMultiComponent2d. More...
 
const_iterator2d bottom_right () const
 Returns a read-only iterator2d that points to the past the end element of the GenericMultiComponent2d. It points to past the end element of the bottom right element of the GenericMultiComponent2d. More...
 
iterator2d bottom_right (const Box2d< int > &box)
 Returns a read/write iterator2d that points to the past the end element of the GenericMultiComponent2d. It points to past the end element of the bottom right element of the Box2d associated to the GenericMultiComponent2d. More...
 
const_iterator2d bottom_right (const Box2d< int > &box) const
 Returns a read only iterator2d that points to the past the end element of the GenericMultiComponent2d. It points to past the end element of the bottom right element of the Box2d associated to the GenericMultiComponent2d. More...
 
iterator2d_range bottom_right (const Range< int > &row_range, const Range< int > &col_range)
 Returns a read/write iterator2d_range that points to the past the end bottom right element of the ranges row_range and col_range associated to the GenericMultiComponent2d. More...
 
const_iterator2d_range bottom_right (const Range< int > &row_range, const Range< int > &col_range) const
 Returns a read-only iterator2d_range that points to the past the end bottom right element of the ranges row_range and col_range associated to the GenericMultiComponent2d. More...
 
iterator2d_range bottom_right (const Range< int > &range)
 Returns a read/write iterator2d_range that points to the past the end bottom right element of the Range range associated to the GenericMultiComponent2d. The same range is applied for rows and cols. More...
 
const_iterator2d_range bottom_right (const Range< int > &range) const
 Returns a read-only const_iterator2d_range that points to the past the end bottom right element of the Range range associated to the GenericMultiComponent2d. The same range is applied for rows and cols. More...
 
component_iterator2d bottom_right (const std::size_t component)
 Returns a read/write component_iterator2d that points to the past the end element of the GenericMultiComponent2d. It points to past the end element of the bottom right element of the GenericMultiComponent2d. More...
 
const_component_iterator2d bottom_right (const std::size_t component) const
 Returns a read only const_component_iterator2d that points to the past the end element of the GenericMultiComponent2d. It points to past the end element of the bottom right element of the GenericMultiComponent2d. More...
 
component_iterator2d bottom_right (const std::size_t component, const Box2d< int > &box)
 Returns a read/write component iterator2d that points to the past the end element of the GenericMultiComponent2d. It points to past the end element of the bottom right element of the Box2d associated to the GenericMultiComponent2d. More...
 
const_component_iterator2d bottom_right (const std::size_t component, const Box2d< int > &box) const
 Returns a read only component iterator2d that points to the past the end element of the GenericMultiComponent2d. It points to past the end element of the bottom right element of the Box2d associated to the GenericMultiComponent2d. More...
 
component_iterator2d_range bottom_right (const std::size_t component, const Range< int > &row_range, const Range< int > &col_range)
 Returns a read/write component iterator2d_range that points to the past the end bottom right element of the ranges row_range and col_range associated to the GenericMultiComponent2d. More...
 
const_component_iterator2d_range bottom_right (const std::size_t component, const Range< int > &row_range, const Range< int > &col_range) const
 Returns a read-only component iterator2d_range that points to the past the end bottom right element of the ranges row_range and col_range associated to the GenericMultiComponent2d. More...
 
reverse_iterator2d rupper_left ()
 Returns a read/write reverse iterator2d. It points to the bottom right element of the GenericMultiComponent2d. Iteration is done within the GenericMultiComponent2d in the reverse order. More...
 
const_reverse_iterator2d rupper_left () const
 Returns a read only reverse iterator2d that points. It points to the bottom right element of the GenericMultiComponent2d. Iteration is done within the GenericMultiComponent2d in the reverse order. More...
 
reverse_iterator2d rupper_left (const Box2d< int > &box)
 Returns a read/write reverse iterator2d. It points to the bottom right element of the Box2d associated to the GenericMultiComponent2d. Iteration is done in the reverse order. More...
 
const_reverse_iterator2d rupper_left (const Box2d< int > &box) const
 Returns a read only reverse iterator2d. It points to the bottom right element of the Box2d box associated to the GenericMultiComponent2d. Iteration is done in the reverse order. More...
 
reverse_iterator2d_range rupper_left (const Range< int > &row_range, const Range< int > &col_range)
 Returns a read/write reverse_iterator2d_range that points to the past the bottom right element of the ranges row_range and col_range associated to the GenericMultiComponent2d. Iteration is done in the reverse order. More...
 
const_reverse_iterator2d_range rupper_left (const Range< int > &row_range, const Range< int > &col_range) const
 Returns a read-only reverse_iterator2d_range that points to the past the bottom right element of the ranges row_range and col_range associated to the GenericMultiComponent2d. Iteration is done in the reverse order. More...
 
reverse_iterator2d_range rupper_left (const Range< int > &range)
 Returns a read/write reverse_iterator2d_range that points to the bottom right element of the Range range associated to the GenericMultiComponent2d. The same range is applied for rows and cols. Iteration is done in the reverse order. More...
 
const_reverse_iterator2d_range rupper_left (const Range< int > &range) const
 Returns a read-only reverse_iterator2d_range that points to the to the bottom right element of the Range range associated to the GenericMultiComponent2d. The same range is applied for rows and cols. Iteration is done in the reverse order. More...
 
reverse_component_iterator2d rupper_left (const std::size_t component)
 Returns a read/write reverse component iterator2d. It points to the bottom right element of the GenericMultiComponent2d. Iteration is done within the GenericMultiComponent2d in the reverse order. More...
 
const_reverse_component_iterator2d rupper_left (const std::size_t component) const
 Returns a read only reverse component iterator2d that points. It points to the bottom right element of the GenericMultiComponent2d. Iteration is done within the GenericMultiComponent2d in the reverse order. More...
 
reverse_component_iterator2d rupper_left (const std::size_t component, const Box2d< int > &box)
 Returns a read/write reverse component iterator2d. It points to the bottom right element of the Box2d associated to the GenericMultiComponent2d. Iteration is done in the reverse order. More...
 
const_reverse_component_iterator2d rupper_left (const std::size_t component, const Box2d< int > &box) const
 Returns a read only reverse component iterator2d. It points to the bottom right element of the Box2d box associated to the GenericMultiComponent2d. Iteration is done in the reverse order. More...
 
reverse_component_iterator2d_range rupper_left (const std::size_t component, const Range< int > &row_range, const Range< int > &col_range)
 Returns a read/write reverse component iterator2d_range that points to the past the bottom right element of the ranges row_range and col_range associated to the GenericMultiComponent2d. Iteration is done in the reverse order. More...
 
const_reverse_component_iterator2d_range rupper_left (const std::size_t component, const Range< int > &row_range, const Range< int > &col_range) const
 Returns a read-only reverse_component_iterator2d_range that points to the past the bottom right element of the ranges row_range and col_range associated to the GenericMultiComponent2d. Iteration is done in the reverse order. More...
 
reverse_iterator2d rbottom_right ()
 Returns a read/write reverse iterator2d. It points to past the upper left element of the GenericMultiComponent2d. Iteration is done in the reverse order. More...
 
const_reverse_iterator2d rbottom_right () const
 Returns a read only reverse iterator2d. It points to past the upper left element of the GenericMultiComponent2d. Iteration is done in the reverse order. More...
 
reverse_iterator2d rbottom_right (const Box2d< int > &box)
 Returns a read/write reverse iterator2d. It points to one before the upper left element of the Box2d box associated to the GenericMultiComponent2d. More...
 
const_reverse_iterator2d rbottom_right (const Box2d< int > &box) const
 Returns a read-only reverse iterator2d. It points to one before the element of the bottom right element of the Box2d box associated to the GenericMultiComponent2d. More...
 
reverse_iterator2d_range rbottom_right (const Range< int > &row_range, const Range< int > &col_range)
 Returns a read/write reverse_iterator2d_range that points to one before the upper left element of the ranges row_range and col_range associated to the GenericMultiComponent2d. Iteration is done in the reverse order. More...
 
const_reverse_iterator2d_range rbottom_right (const Range< int > &row_range, const Range< int > &col_range) const
 Returns a read-only reverse_iterator2d_range that points to one before the upper left element of the ranges row_range and col_range associated to the GenericMultiComponent2d.Iteration is done in the reverse order. More...
 
reverse_iterator2d_range rbottom_right (const Range< int > &range)
 Returns a read/write reverse_iterator2d_range that points to one before the upper left element of the Range range associated to the GenericMultiComponent2d. The same range is applied for rows and cols. Iteration is done in the reverse order. More...
 
const_reverse_iterator2d_range rbottom_right (const Range< int > &range) const
 Returns a read_only reverse_iterator2d_range that points to one before the upper left element of the Range range associated to the GenericMultiComponent2d. The same range is applied for rows and cols. Iteration is done in the reverse order. More...
 
reverse_component_iterator2d rbottom_right (const std::size_t component)
 Returns a read/write reverse component iterator2d. It points to past the upper left element of the GenericMultiComponent2d. Iteration is done in the reverse order. More...
 
const_reverse_component_iterator2d rbottom_right (const std::size_t component) const
 Returns a read only reverse component iterator2d. It points to past the upper left element of the GenericMultiComponent2d. Iteration is done in the reverse order. More...
 
reverse_component_iterator2d rbottom_right (const std::size_t component, const Box2d< int > &box)
 Returns a read/write reverse component iterator2d. It points to one before the upper left element of the Box2d box associated to the GenericMultiComponent2d. More...
 
const_reverse_component_iterator2d rbottom_right (const std::size_t component, const Box2d< int > &box) const
 Returns a read-only reverse component iterator2d. It points to one before the element of the bottom right element of the Box2d box associated to the GenericMultiComponent2d. More...
 
reverse_component_iterator2d_range rbottom_right (const std::size_t component, const Range< int > &row_range, const Range< int > &col_range)
 Returns a read/write reverse_component_iterator2d_range that points to one before the upper left element of the ranges row_range and col_range associated to the GenericMultiComponent2d. Iteration is done in the reverse order. More...
 
const_reverse_component_iterator2d_range rbottom_right (const std::size_t component, const Range< int > &row_range, const Range< int > &col_range) const
 Returns a read-only reverse_component_iterator2d_range that points to one before the upper left element of the ranges row_range and col_range associated to the GenericMultiComponent2d.Iteration is done in the reverse order. More...
 
Assignment operators and methods
void fill (const slip::Vector2d< T > &value)
 Fills the container range [begin(),begin()+size()) with copies of value. More...
 
void fill (const typename slip::Vector2d< T >::pointer value)
 Fills the container range [begin(),begin()+size()) with a copy of the value array. More...
 
void fill (const slip::Vector2d< T > *value)
 Fills the container range [begin(),begin()+size()) with a copy of the value array. More...
 
void fill (InputIterator first, InputIterator last)
 Fills the container range [begin(),begin()+size()) with a copy of the range [first,last) More...
 
void fill (std::vector< InputIterator > first_iterators_list, InputIterator last)
 Fills the container range [begin(),begin()+size()) with a copy of the range [first,last) More...
 
void fill (std::size_t component, InputIterator first, InputIterator last)
 Fills the container range [begin(),begin()+size()) with a copy of the range [first,last) More...
 
Element access operators

Less than comparison operator (GenericMultiComponent2d ordering relation)

Parameters
xA GenericMultiComponent2d
yA GenericMultiComponent2d of the same type of x
Returns
true iff x is lexicographically less than y
Precondition
x.size() == y.size()

More than comparison operator

Parameters
xA GenericMultiComponent2d
yA GenericMultiComponent2d of the same type of x
Returns
true iff y > x
Precondition
x.size() == y.size()

Less than equal comparison operator

Parameters
xA GenericMultiComponent2d
yA GenericMultiComponent2d of the same type of x
Returns
true iff !(y > x)
Precondition
x.size() == y.size()

More than equal comparison operator

Parameters
xA GenericMultiComponent2d
yA GenericMultiComponent2d of the same type of x
Returns
true iff !(x < y)
Precondition
x.size() == y.size()
pointer operator[] (const size_type i)
 Subscript access to the row datas contained in the GenericMultiComponent2d. More...
 
const_pointer operator[] (const size_type i) const
 Subscript access to the row datas contained in the GenericMultiComponent2d. More...
 
reference operator() (const size_type i, const size_type j)
 Subscript access to the data contained in the GenericMultiComponent2d. More...
 
const_reference operator() (const size_type i, const size_type j) const
 Subscript access to the data contained in the GenericMultiComponent2d. More...
 
reference operator() (const Point2d< size_type > &point2d)
 Subscript access to the data contained in the GenericMultiComponent2d. More...
 
const_reference operator() (const Point2d< size_type > &point2d) const
 Subscript access to the data contained in the GenericMultiComponent2d. More...
 
self operator() (const Range< int > &row_range, const Range< int > &col_range)
 Subscript access to the data contained in the GenericMultiComponent2d. More...
 

Static Public Attributes

static const std::size_t DIM = 2
 
static const std::size_t COMPONENTS
 

Friends

class boost::serialization::access
 

i/o operators

std::ostream & operator<< (std::ostream &out, const self &a)
 Write the RegularVector2dField2d to the ouput stream. More...
 
void write_gnuplot (const std::string &file_path_name) const
 Writes a RegularVector2dField2d to a gnuplot file path name. More...
 
void write_tecplot (const std::string &file_path_name, const std::string &title, const std::string &zone) const
 Writes a RegularVector2dField2d to a tecplot file path name. More...
 
void read_gnuplot (const std::string &file_path_name)
 Reads a RegularVector2dField2d from a gnuplot file path name. More...
 
void read_tecplot (const std::string &file_path_name)
 Reads a RegularVector2dField2d from a tecplot file path name. More...
 

Detailed Description

template<typename T, typename GridT>
class slip::RegularVector2dField2d< T, GridT >

This is a 2d Field containing slip::Vector2d associated with a regular grid. This container statisfies the BidirectionnalContainer concepts of the STL. It is also an 2d extension of the RandomAccessContainer concept. That is to say the bracket element access is replaced by the double bracket element access. It is a specialization of GenericMultiComponent2d using Vector2d blocks. It implements arithmetic and mathematical operators (divergence, vorticity, derivative...) and read/write methods (tecplot and gnuplot file format). The points of the Vector field grid are assumed to be spaced by two regular steps. The inital point (closest point from the physical axis origin) of the grid is also stored within the data structure.

Author
Benoit Tremblais <tremblais_AT_sic.univ-poitiers.fr>
Version
0.0.3
Date
2014/04/02
Since
1.0.0
Parameters
TType of object in the RegularVector2dField2d
GridTType of the grid associated to the RegularVector2dField2d
iterator2d_conventions.jpg
axis and notation conventions
Examples:
regularvector2dfield2d_op.cpp.

Definition at line 135 of file RegularVector2dField2d.hpp.

Member Typedef Documentation

template<typename T, typename GridT>
typedef GenericMultiComponent2d<slip::Vector2d<T> > slip::RegularVector2dField2d< T, GridT >::base

Definition at line 172 of file RegularVector2dField2d.hpp.

Definition at line 229 of file GenericMultiComponent2d.hpp.

Definition at line 231 of file GenericMultiComponent2d.hpp.

Definition at line 228 of file GenericMultiComponent2d.hpp.

template<typename T, typename GridT>
typedef slip::stride_iterator<pointer> slip::RegularVector2dField2d< T, GridT >::col_iterator

Definition at line 192 of file RegularVector2dField2d.hpp.

Definition at line 223 of file GenericMultiComponent2d.hpp.

Definition at line 260 of file GenericMultiComponent2d.hpp.

Definition at line 262 of file GenericMultiComponent2d.hpp.

Definition at line 233 of file GenericMultiComponent2d.hpp.

Definition at line 269 of file GenericMultiComponent2d.hpp.

Definition at line 274 of file GenericMultiComponent2d.hpp.

Definition at line 251 of file GenericMultiComponent2d.hpp.

Definition at line 253 of file GenericMultiComponent2d.hpp.

Definition at line 230 of file GenericMultiComponent2d.hpp.

Definition at line 232 of file GenericMultiComponent2d.hpp.

template<typename T, typename GridT>
typedef slip::stride_iterator<const_pointer> slip::RegularVector2dField2d< T, GridT >::const_col_iterator

Definition at line 193 of file RegularVector2dField2d.hpp.

Definition at line 224 of file GenericMultiComponent2d.hpp.

Definition at line 261 of file GenericMultiComponent2d.hpp.

Definition at line 263 of file GenericMultiComponent2d.hpp.

Definition at line 234 of file GenericMultiComponent2d.hpp.

Definition at line 271 of file GenericMultiComponent2d.hpp.

Definition at line 276 of file GenericMultiComponent2d.hpp.

Definition at line 252 of file GenericMultiComponent2d.hpp.

Definition at line 254 of file GenericMultiComponent2d.hpp.

Definition at line 281 of file GenericMultiComponent2d.hpp.

template<typename T, typename GridT>
typedef const_pointer slip::RegularVector2dField2d< T, GridT >::const_iterator

Definition at line 184 of file RegularVector2dField2d.hpp.

template<typename T, typename GridT>
typedef slip::GenericMultiComponent2d<slip::Vector2d<T> >::const_iterator2d slip::RegularVector2dField2d< T, GridT >::const_iterator2d

Definition at line 201 of file RegularVector2dField2d.hpp.

Definition at line 226 of file GenericMultiComponent2d.hpp.

template<typename T, typename GridT>
typedef const value_type* slip::RegularVector2dField2d< T, GridT >::const_pointer

Definition at line 176 of file RegularVector2dField2d.hpp.

template<typename T, typename GridT>
typedef const value_type& slip::RegularVector2dField2d< T, GridT >::const_reference

Definition at line 178 of file RegularVector2dField2d.hpp.

template<typename T, typename GridT>
typedef std::reverse_iterator<const_col_iterator> slip::RegularVector2dField2d< T, GridT >::const_reverse_col_iterator

Definition at line 198 of file RegularVector2dField2d.hpp.

Definition at line 245 of file GenericMultiComponent2d.hpp.

Definition at line 265 of file GenericMultiComponent2d.hpp.

Definition at line 267 of file GenericMultiComponent2d.hpp.

Definition at line 249 of file GenericMultiComponent2d.hpp.

Definition at line 272 of file GenericMultiComponent2d.hpp.

Definition at line 277 of file GenericMultiComponent2d.hpp.

Definition at line 256 of file GenericMultiComponent2d.hpp.

Definition at line 258 of file GenericMultiComponent2d.hpp.

template<typename T, typename GridT>
typedef std::reverse_iterator<const_iterator> slip::RegularVector2dField2d< T, GridT >::const_reverse_iterator

Definition at line 187 of file RegularVector2dField2d.hpp.

Definition at line 241 of file GenericMultiComponent2d.hpp.

Definition at line 247 of file GenericMultiComponent2d.hpp.

template<typename T, typename GridT>
typedef std::reverse_iterator<const_iterator> slip::RegularVector2dField2d< T, GridT >::const_reverse_row_iterator

Definition at line 196 of file RegularVector2dField2d.hpp.

Definition at line 243 of file GenericMultiComponent2d.hpp.

template<typename T, typename GridT>
typedef const_pointer slip::RegularVector2dField2d< T, GridT >::const_row_iterator

Definition at line 191 of file RegularVector2dField2d.hpp.

Definition at line 222 of file GenericMultiComponent2d.hpp.

template<typename T, typename GridT>
typedef const RegularVector2dField2d<T,GridT> slip::RegularVector2dField2d< T, GridT >::const_self

Definition at line 171 of file RegularVector2dField2d.hpp.

template<typename T, typename GridT>
typedef slip::kstride_iterator<const_vector2d_pointer,2> slip::RegularVector2dField2d< T, GridT >::const_vector2d_iterator

Definition at line 210 of file RegularVector2dField2d.hpp.

template<typename T, typename GridT>
typedef const vector2d_value_type* slip::RegularVector2dField2d< T, GridT >::const_vector2d_pointer

Definition at line 206 of file RegularVector2dField2d.hpp.

template<typename T, typename GridT>
typedef const vector2d_value_type slip::RegularVector2dField2d< T, GridT >::const_vector2d_reference

Definition at line 208 of file RegularVector2dField2d.hpp.

Definition at line 280 of file GenericMultiComponent2d.hpp.

template<typename T, typename GridT>
typedef ptrdiff_t slip::RegularVector2dField2d< T, GridT >::difference_type

Definition at line 180 of file RegularVector2dField2d.hpp.

template<typename T, typename GridT>
typedef GridT slip::RegularVector2dField2d< T, GridT >::grid_value_type

Definition at line 204 of file RegularVector2dField2d.hpp.

template<typename T, typename GridT>
typedef pointer slip::RegularVector2dField2d< T, GridT >::iterator

Definition at line 183 of file RegularVector2dField2d.hpp.

template<typename T, typename GridT>
typedef slip::GenericMultiComponent2d<slip::Vector2d<T> >::iterator2d slip::RegularVector2dField2d< T, GridT >::iterator2d

Definition at line 200 of file RegularVector2dField2d.hpp.

Definition at line 225 of file GenericMultiComponent2d.hpp.

template<typename T, typename GridT>
typedef slip::lin_alg_traits<value_type>::value_type slip::RegularVector2dField2d< T, GridT >::norm_type

Definition at line 212 of file RegularVector2dField2d.hpp.

template<typename T, typename GridT>
typedef value_type* slip::RegularVector2dField2d< T, GridT >::pointer

Definition at line 175 of file RegularVector2dField2d.hpp.

template<typename T, typename GridT>
typedef value_type& slip::RegularVector2dField2d< T, GridT >::reference

Definition at line 177 of file RegularVector2dField2d.hpp.

template<typename T, typename GridT>
typedef std::reverse_iterator<col_iterator> slip::RegularVector2dField2d< T, GridT >::reverse_col_iterator

Definition at line 197 of file RegularVector2dField2d.hpp.

Definition at line 244 of file GenericMultiComponent2d.hpp.

Definition at line 264 of file GenericMultiComponent2d.hpp.

Definition at line 266 of file GenericMultiComponent2d.hpp.

Definition at line 248 of file GenericMultiComponent2d.hpp.

Definition at line 270 of file GenericMultiComponent2d.hpp.

Definition at line 275 of file GenericMultiComponent2d.hpp.

Definition at line 255 of file GenericMultiComponent2d.hpp.

Definition at line 257 of file GenericMultiComponent2d.hpp.

template<typename T, typename GridT>
typedef std::reverse_iterator<iterator> slip::RegularVector2dField2d< T, GridT >::reverse_iterator

Definition at line 186 of file RegularVector2dField2d.hpp.

typedef std::reverse_iterator<iterator2d> slip::GenericMultiComponent2d< slip::Vector2d< T > >::reverse_iterator2d
inherited

Definition at line 240 of file GenericMultiComponent2d.hpp.

Definition at line 246 of file GenericMultiComponent2d.hpp.

template<typename T, typename GridT>
typedef std::reverse_iterator<iterator> slip::RegularVector2dField2d< T, GridT >::reverse_row_iterator

Definition at line 195 of file RegularVector2dField2d.hpp.

Definition at line 242 of file GenericMultiComponent2d.hpp.

template<typename T, typename GridT>
typedef pointer slip::RegularVector2dField2d< T, GridT >::row_iterator

Definition at line 190 of file RegularVector2dField2d.hpp.

Definition at line 221 of file GenericMultiComponent2d.hpp.

template<typename T, typename GridT>
typedef RegularVector2dField2d<T,GridT> slip::RegularVector2dField2d< T, GridT >::self

Definition at line 170 of file RegularVector2dField2d.hpp.

template<typename T, typename GridT>
typedef std::size_t slip::RegularVector2dField2d< T, GridT >::size_type

Definition at line 181 of file RegularVector2dField2d.hpp.

template<typename T, typename GridT>
typedef slip::Vector2d<T> slip::RegularVector2dField2d< T, GridT >::value_type

Definition at line 169 of file RegularVector2dField2d.hpp.

template<typename T, typename GridT>
typedef slip::kstride_iterator<vector2d_pointer,2> slip::RegularVector2dField2d< T, GridT >::vector2d_iterator

Definition at line 209 of file RegularVector2dField2d.hpp.

template<typename T, typename GridT>
typedef vector2d_value_type* slip::RegularVector2dField2d< T, GridT >::vector2d_pointer

Definition at line 205 of file RegularVector2dField2d.hpp.

template<typename T, typename GridT>
typedef vector2d_value_type& slip::RegularVector2dField2d< T, GridT >::vector2d_reference

Definition at line 207 of file RegularVector2dField2d.hpp.

template<typename T, typename GridT>
typedef T slip::RegularVector2dField2d< T, GridT >::vector2d_value_type

Definition at line 203 of file RegularVector2dField2d.hpp.

Constructor & Destructor Documentation

template<typename T, typename GridT>
slip::RegularVector2dField2d< T, GridT >::RegularVector2dField2d ( )
inline

Constructs a RegularVector2dField2d.

Definition at line 225 of file RegularVector2dField2d.hpp.

template<typename T, typename GridT>
slip::RegularVector2dField2d< T, GridT >::RegularVector2dField2d ( const size_type  height,
const size_type  width 
)
inline

Constructs a RegularVector2dField2d.

Parameters
heightfirst dimension of the RegularVector2dField2d
widthsecond dimension of the RegularVector2dField2d

Regular Field Vector manipulation

Definition at line 236 of file RegularVector2dField2d.hpp.

template<typename T, typename GridT>
slip::RegularVector2dField2d< T, GridT >::RegularVector2dField2d ( const size_type  height,
const size_type  width,
const slip::Point2d< GridT > &  init_point,
const slip::Point2d< GridT > &  grid_step 
)
inline

Constructs a RegularVector2dField2d.

Parameters
heightfirst dimension of the RegularVector2dField2d
widthsecond dimension of the RegularVector2dField2d
init_pointinit point of the RegularVector2dField2d
grid_stepgrid step of the RegularVector2dField2d

Regular Field Vector manipulation

Definition at line 250 of file RegularVector2dField2d.hpp.

template<typename T, typename GridT>
slip::RegularVector2dField2d< T, GridT >::RegularVector2dField2d ( const size_type  height,
const size_type  width,
const slip::Vector2d< T > &  val 
)
inline

Constructs a RegularVector2dField2d initialized by the scalar value val.

Parameters
heightfirst dimension of the RegularVector2dField2d
widthsecond dimension of the RegularVector2dField2d
valinitialization value of the elements

Definition at line 263 of file RegularVector2dField2d.hpp.

template<typename T, typename GridT>
slip::RegularVector2dField2d< T, GridT >::RegularVector2dField2d ( const size_type  height,
const size_type  width,
const slip::Point2d< GridT > &  init_point,
const slip::Point2d< GridT > &  grid_step,
const slip::Vector2d< T > &  val 
)
inline

Constructs a RegularVector2dField2d initialized by the scalar value val.

Parameters
heightfirst dimension of the RegularVector2dField2d
widthsecond dimension of the RegularVector2dField2d
init_pointinit point of the RegularVector2dField2d
grid_stepgrid step of the RegularVector2dField2d
valinitialization value of the elements

Definition at line 277 of file RegularVector2dField2d.hpp.

template<typename T, typename GridT>
slip::RegularVector2dField2d< T, GridT >::RegularVector2dField2d ( const size_type  height,
const size_type  width,
const T *  val 
)
inline

Constructs a RegularVector2dField2d initialized by an array val.

Parameters
heightfirst dimension of the RegularVector2dField2d
widthsecond dimension of the RegularVector2dField2d
valinitialization linear array value of the elements

Definition at line 291 of file RegularVector2dField2d.hpp.

template<typename T, typename GridT>
slip::RegularVector2dField2d< T, GridT >::RegularVector2dField2d ( const size_type  height,
const size_type  width,
const slip::Point2d< GridT > &  init_point,
const slip::Point2d< GridT > &  grid_step,
const T *  val 
)
inline

Constructs a RegularVector2dField2d initialized by an array val.

Parameters
heightfirst dimension of the RegularVector2dField2d
widthsecond dimension of the RegularVector2dField2d
init_pointinit point of the RegularVector2dField2d
grid_stepgrid step of the RegularVector2dField2d
valinitialization linear array value of the elements

Definition at line 308 of file RegularVector2dField2d.hpp.

template<typename T, typename GridT>
slip::RegularVector2dField2d< T, GridT >::RegularVector2dField2d ( const size_type  height,
const size_type  width,
const slip::Vector2d< T > *  val 
)
inline

Constructs a RegularVector2dField2d initialized by an array val.

Parameters
heightfirst dimension of the RegularVector2dField2d
widthsecond dimension of the RegularVector2dField2d
valinitialization array value of the elements

Definition at line 322 of file RegularVector2dField2d.hpp.

template<typename T, typename GridT>
slip::RegularVector2dField2d< T, GridT >::RegularVector2dField2d ( const size_type  height,
const size_type  width,
const slip::Point2d< GridT > &  init_point,
const slip::Point2d< GridT > &  grid_step,
const slip::Vector2d< T > *  val 
)
inline

Constructs a RegularVector2dField2d initialized by an array val.

Parameters
heightfirst dimension of the RegularVector2dField2d
widthsecond dimension of the RegularVector2dField2d
init_pointinit point of the RegularVector2dField2d
grid_stepgrid step of the RegularVector2dField2d
valinitialization array value of the elements

Definition at line 336 of file RegularVector2dField2d.hpp.

template<typename T, typename GridT>
template<typename InputIterator >
slip::RegularVector2dField2d< T, GridT >::RegularVector2dField2d ( const size_type  height,
const size_type  width,
InputIterator  first,
InputIterator  last 
)
inline

Contructs a RegularVector2dField2d from a range.

Parameters
heightfirst dimension of the RegularVector2dField2d
widthsecond dimension of the RegularVector2dField2d
firstAn input iterator.
lastAn input iterator.

Create a RegularVector2dField2d consisting of copies of the elements from [first,last).

Definition at line 356 of file RegularVector2dField2d.hpp.

template<typename T, typename GridT>
template<typename InputIterator >
slip::RegularVector2dField2d< T, GridT >::RegularVector2dField2d ( const size_type  height,
const size_type  width,
const slip::Point2d< GridT > &  init_point,
const slip::Point2d< GridT > &  grid_step,
InputIterator  first,
InputIterator  last 
)
inline

Contructs a RegularVector2dField2d from a range.

Parameters
heightfirst dimension of the RegularVector2dField2d
widthsecond dimension of the RegularVector2dField2d
init_pointinit point of the RegularVector2dField2d
grid_stepgrid step of the RegularVector2dField2d
firstAn input iterator.
lastAn input iterator.

Create a RegularVector2dField2d consisting of copies of the elements from [first,last).

Definition at line 380 of file RegularVector2dField2d.hpp.

template<typename T, typename GridT>
template<typename InputIterator >
slip::RegularVector2dField2d< T, GridT >::RegularVector2dField2d ( const size_type  height,
const size_type  width,
InputIterator  first1,
InputIterator  last1,
InputIterator  first2 
)
inline

Contructs a RegularVector2dField2d from a 2 ranges.

Parameters
heightfirst dimension of the RegularVector2dField2d
widthsecond dimension of the RegularVector2dField2d
first1An input iterator.
last1An input iterator.
first2An input iterator.

Create a RegularVector2dField2d consisting of copies of the elements from [first1,last1), [first2,first2 + (last1 - first1)),

Definition at line 410 of file RegularVector2dField2d.hpp.

template<typename T, typename GridT>
template<typename InputIterator >
slip::RegularVector2dField2d< T, GridT >::RegularVector2dField2d ( const size_type  height,
const size_type  width,
const slip::Point2d< GridT > &  init_point,
const slip::Point2d< GridT > &  grid_step,
InputIterator  first1,
InputIterator  last1,
InputIterator  first2 
)
inline

Contructs a RegularVector2dField2d from a 2 ranges.

Parameters
heightfirst dimension of the RegularVector2dField2d
widthsecond dimension of the RegularVector2dField2d
init_pointinit point of the RegularVector2dField2d
grid_stepgrid step of the RegularVector2dField2d
first1An input iterator.
last1An input iterator.
first2An input iterator.

Create a RegularVector2dField2d consisting of copies of the elements from [first1,last1), [first2,first2 + (last1 - first1)),

Definition at line 441 of file RegularVector2dField2d.hpp.

template<typename T, typename GridT>
slip::RegularVector2dField2d< T, GridT >::RegularVector2dField2d ( const self rhs)
inline

Constructs a copy of the RegularVector2dField2d rhs.

Definition at line 462 of file RegularVector2dField2d.hpp.

template<typename T, typename GridT>
slip::RegularVector2dField2d< T, GridT >::~RegularVector2dField2d ( )
inline

Destructor of the RegularVector2dField2d.

Definition at line 469 of file RegularVector2dField2d.hpp.

Member Function Documentation

template<typename T , typename GridT >
RegularVector2dField2d< T, GridT >::norm_type slip::RegularVector2dField2d< T, GridT >::angle ( const size_type  i,
const size_type  j 
) const
inline

Subscript access to a local angle contained in the RegularVector2dField2d. The result is a radian between the range [-PI,PI].

Parameters
iThe index of the row for which the data should be accessed.
jThe index of the columns for which the data should be accessed.
Returns
Read_only (constant) reference to data.
Precondition
i < rows()
j < columns()

This operator allows for easy, 2d array-style, data access. Note that data access with this operator is unchecked and out_of_range lookups are not defined.

Definition at line 1658 of file RegularVector2dField2d.hpp.

template<typename T, typename GridT>
template<typename Container2D >
void slip::RegularVector2dField2d< T, GridT >::angle ( Container2D &  result)
inline

Computes angle (radian) of each element with the cartesian axis and write it to a Container2D.

Author
Benoit Tremblais <benoit.tremblais_AT_sic.univ-poitiers.fr>
Date
2008/04/21
Version
0.0.1
Parameters
resultA Container2D which contain the angle of each element.

Definition at line 1272 of file RegularVector2dField2d.hpp.

Returns the sums of the elements of the GenericMultiComponent2d.

Precondition
size() != 0

Applys the one-parameter C-function fun to each element of the GenericMultiComponent2d

Parameters
funThe one-parameter C function
Returns
the resulting GenericMultiComponent2d
GenericMultiComponent2d<slip::Vector2d< T > >& slip::GenericMultiComponent2d< slip::Vector2d< T > >::apply ( slip::Vector2d< T > (*)(const slip::Vector2d< T > &)  fun)
inherited

Applys the one-parameter C-function fun to each element of the GenericMultiComponent2d.

Parameters
funThe one-const-parameter C function
Returns
the resulting GenericMultiComponent2d

Returns a read/write iterator that points to the first element in the GenericMultiComponent2d. Iteration is done in ordinary element order.

Returns
begin iterator value
Remarks
This iterator is compatible with RandomAccessIterator algorithms.
Example:
//copy the sum of the elements of A1 and A2 in S
std::transform(A1.begin(),A1.end(),
A2.begin(),S.begin(),
std::plus<slip::Vector2d<double> >());
const_iterator slip::GenericMultiComponent2d< slip::Vector2d< T > >::begin ( ) const
inherited

Returns a read-only (constant) iterator that points to the first element in the GenericMultiComponent2d. Iteration is done in ordinary element order.

Returns
const begin iterator value
Remarks
This iterator is compatible with RandomAccessIterator algorithms.
Example:
//copy the sum of A1 and A2 in S
std::transform(A1.begin(),A1.end(),
A2.begin(),S.begin(),
std::plus<slip::Vector2d<double> >());
component_iterator slip::GenericMultiComponent2d< slip::Vector2d< T > >::begin ( const std::size_t  component)
inherited

Returns a read/write iterator that points to the first element in the GenericMultiComponent2d. Iteration is done in ordinary element order.

Parameters
componentThe component number.
Returns
begin component_iterator value
const_component_iterator slip::GenericMultiComponent2d< slip::Vector2d< T > >::begin ( const std::size_t  component) const
inherited

Returns a read-only (constant) iterator that points to the first element in the GenericMultiComponent2d. Iteration is done in ordinary element order.

Parameters
componentThe component number.
Returns
const begin component_iterator value
iterator2d slip::GenericMultiComponent2d< slip::Vector2d< T > >::bottom_right ( )
inherited

Returns a read/write iterator2d that points to the past the end element of the GenericMultiComponent2d. It points to past the end element of the bottom right element of the GenericMultiComponent2d.

Returns
begin iterator2d value
Remarks
This iterator is compatible with BidirectionalIterator algorithms.
Example:
const_iterator2d slip::GenericMultiComponent2d< slip::Vector2d< T > >::bottom_right ( ) const
inherited

Returns a read-only iterator2d that points to the past the end element of the GenericMultiComponent2d. It points to past the end element of the bottom right element of the GenericMultiComponent2d.

Returns
begin const iterator2d value
Remarks
This iterator is compatible with BidirectionalIterator algorithms.
Example:
iterator2d slip::GenericMultiComponent2d< slip::Vector2d< T > >::bottom_right ( const Box2d< int > &  box)
inherited

Returns a read/write iterator2d that points to the past the end element of the GenericMultiComponent2d. It points to past the end element of the bottom right element of the Box2d associated to the GenericMultiComponent2d.

Parameters
boxa Box2d defining the range of indices to iterate within the GenericMultiComponent2d.
Returns
end iterator2d value
Remarks
This iterator is compatible with BidirectionalIterator algorithms.
Precondition
The box indices must be inside the range of the GenericMultiComponent2d ones.
Example:
slip::Box2d<int> box(1,1,3,2);
//copy the elements of A1 inside the box which upper_left element
//is located in (1,1) and the bottom right element is in (3,2)
const_iterator2d slip::GenericMultiComponent2d< slip::Vector2d< T > >::bottom_right ( const Box2d< int > &  box) const
inherited

Returns a read only iterator2d that points to the past the end element of the GenericMultiComponent2d. It points to past the end element of the bottom right element of the Box2d associated to the GenericMultiComponent2d.

Parameters
boxa Box2d defining the range of indices to iterate within the GenericMultiComponent2d.
Returns
end const iterator2d value
Remarks
This iterator is compatible with BidirectionalIterator algorithms.
Precondition
The box indices must be inside the range of the GenericMultiComponent2d ones.
Example:
slip::Box2d<int> box(1,1,3,2);
//copy the elements of A1 inside the box which upper_left element
//is located in (1,1) and the bottom right element is in (3,2)
iterator2d_range slip::GenericMultiComponent2d< slip::Vector2d< T > >::bottom_right ( const Range< int > &  row_range,
const Range< int > &  col_range 
)
inherited

Returns a read/write iterator2d_range that points to the past the end bottom right element of the ranges row_range and col_range associated to the GenericMultiComponent2d.

Parameters
row_rangeThe range of the rows.
col_rangeThe range of the columns.
Precondition
row_range and col_range must be valid.
The ranges indices must be inside the ranges of the GenericMultiComponent2d ones.
Returns
iterator2d_range value
Remarks
This iterator is compatible with BidirectionalIterator algorithms.
Example:
slip::Range<int> row_range(0,A1.dim2()-1,2);
slip::Range<int> col_range(0,A1.dim1()-1,2);
//copy the elements of A1 within the ranges row_range and col_range
//in A2
std::copy(A1.upper_left(row_range,col_range),
A1.bottom_right(row_range,col_range),A2.upper_left());
const_iterator2d_range slip::GenericMultiComponent2d< slip::Vector2d< T > >::bottom_right ( const Range< int > &  row_range,
const Range< int > &  col_range 
) const
inherited

Returns a read-only iterator2d_range that points to the past the end bottom right element of the ranges row_range and col_range associated to the GenericMultiComponent2d.

Parameters
row_rangeThe range of the rows.
col_rangeThe range of the columns.
Precondition
row_range and col_range must be valid.
The ranges indices must be inside the ranges of the GenericMultiComponent2d ones.
Returns
const_iterator2d_range value
Remarks
This iterator is compatible with BidirectionalIterator algorithms.
Example:
slip::Range<int> row_range(0,A1.dim2()-1,2);
slip::Range<int> col_range(0,A1.dim1()-1,2);
//copy the elements of A1 within the ranges row_range and col_range
//in A2
std::copy(A1.upper_left(row_range,col_range),
A1.bottom_right(row_range,col_range),A2.upper_left());
iterator2d_range slip::GenericMultiComponent2d< slip::Vector2d< T > >::bottom_right ( const Range< int > &  range)
inherited

Returns a read/write iterator2d_range that points to the past the end bottom right element of the Range range associated to the GenericMultiComponent2d. The same range is applied for rows and cols.

Parameters
rangeThe range of the rows and the cols.
Precondition
range must be valid.
The range indices must be inside the ranges of the GenericMultiComponent2d ones.
Returns
iterator2d_range value
Remarks
This iterator is compatible with BidirectionalIterator algorithms.
Example:
slip::Range<int> range(0,A1.dim2()-1,2);
//copy the elements of A1 within the range range
//in A2
std::copy(A1.upper_left(range),A1.bottom_right(range),A2.upper_left());
const_iterator2d_range slip::GenericMultiComponent2d< slip::Vector2d< T > >::bottom_right ( const Range< int > &  range) const
inherited

Returns a read-only const_iterator2d_range that points to the past the end bottom right element of the Range range associated to the GenericMultiComponent2d. The same range is applied for rows and cols.

Parameters
rangeThe range of the rows and the cols.
Precondition
range must be valid.
The range indices must be inside the ranges of the GenericMultiComponent2d ones.
Returns
const_iterator2d_range value
Remarks
This iterator is compatible with BidirectionalIterator algorithms.
Example:
slip::Range<int> range(0,A1.dim2()-1,2);
//copy the elements of A1 within the range range
//in A2
std::copy(A1.upper_left(range),A1.bottom_right(range),A2.upper_left());
component_iterator2d slip::GenericMultiComponent2d< slip::Vector2d< T > >::bottom_right ( const std::size_t  component)
inherited

Returns a read/write component_iterator2d that points to the past the end element of the GenericMultiComponent2d. It points to past the end element of the bottom right element of the GenericMultiComponent2d.

Parameters
componentThe component number.
Returns
begin iterator2d value
Remarks
This iterator is compatible with BidirectionalIterator algorithms.
Example:
//copy the first component of the elements of A1 in A2
const_component_iterator2d slip::GenericMultiComponent2d< slip::Vector2d< T > >::bottom_right ( const std::size_t  component) const
inherited

Returns a read only const_component_iterator2d that points to the past the end element of the GenericMultiComponent2d. It points to past the end element of the bottom right element of the GenericMultiComponent2d.

Parameters
componentThe component number.
Returns
begin iterator2d value
Remarks
This iterator is compatible with BidirectionalIterator algorithms.
component_iterator2d slip::GenericMultiComponent2d< slip::Vector2d< T > >::bottom_right ( const std::size_t  component,
const Box2d< int > &  box 
)
inherited

Returns a read/write component iterator2d that points to the past the end element of the GenericMultiComponent2d. It points to past the end element of the bottom right element of the Box2d associated to the GenericMultiComponent2d.

Parameters
componentThe component number.
boxa Box2d defining the range of indices to iterate within the GenericMultiComponent2d.
Returns
end iterator2d value
Remarks
This iterator is compatible with BidirectionalIterator algorithms.
Precondition
The box indices must be inside the range of the GenericMultiComponent2d ones.
const_component_iterator2d slip::GenericMultiComponent2d< slip::Vector2d< T > >::bottom_right ( const std::size_t  component,
const Box2d< int > &  box 
) const
inherited

Returns a read only component iterator2d that points to the past the end element of the GenericMultiComponent2d. It points to past the end element of the bottom right element of the Box2d associated to the GenericMultiComponent2d.

Parameters
componentThe component number.
boxa Box2d defining the range of indices to iterate within the GenericMultiComponent2d.
Returns
end const iterator2d value
Remarks
This iterator is compatible with BidirectionalIterator algorithms.
Precondition
The box indices must be inside the range of the GenericMultiComponent2d ones.
component_iterator2d_range slip::GenericMultiComponent2d< slip::Vector2d< T > >::bottom_right ( const std::size_t  component,
const Range< int > &  row_range,
const Range< int > &  col_range 
)
inherited

Returns a read/write component iterator2d_range that points to the past the end bottom right element of the ranges row_range and col_range associated to the GenericMultiComponent2d.

Parameters
componentThe component number.
row_rangeThe range of the rows.
col_rangeThe range of the columns.
Precondition
row_range and col_range must be valid.
The ranges indices must be inside the ranges of the GenericMultiComponent2d ones.
Returns
iterator2d_range value
Remarks
This iterator is compatible with BidirectionalIterator algorithms.
const_component_iterator2d_range slip::GenericMultiComponent2d< slip::Vector2d< T > >::bottom_right ( const std::size_t  component,
const Range< int > &  row_range,
const Range< int > &  col_range 
) const
inherited

Returns a read-only component iterator2d_range that points to the past the end bottom right element of the ranges row_range and col_range associated to the GenericMultiComponent2d.

Parameters
componentThe component number.
row_rangeThe range of the rows.
col_rangeThe range of the columns.
Precondition
row_range and col_range must be valid.
The ranges indices must be inside the ranges of the GenericMultiComponent2d ones.
Returns
const_iterator2d_range value
Remarks
This iterator is compatible with BidirectionalIterator algorithms.
col_iterator slip::GenericMultiComponent2d< slip::Vector2d< T > >::col_begin ( const size_type  col)
inherited

Returns a read/write iterator that points to the first element of the column column in the GenericMultiComponent2d. Iteration is done modulo the number of columns.

Parameters
colThe index of the column to iterate.
Returns
begin col_iterator value
Remarks
This iterator is compatible with RandomAccessIterator algorithms.
Precondition
col must be compatible with the range of the GenericMultiComponent2d
Example:
//copy the elements of the column 0 of A1 in the column 1 of A2
std::copy(A1.col_begin(0),A1.col_end(0),A2.col_begin(1));
const_col_iterator slip::GenericMultiComponent2d< slip::Vector2d< T > >::col_begin ( const size_type  col) const
inherited

Returns a read-only iterator that points to the first element of the column column in the GenericMultiComponent2d. Iteration is done modulo the number of columns.

Parameters
colThe index of the column to iterate.
Returns
begin const_col_iterator value
Remarks
This iterator is compatible with RandomAccessIterator algorithms.
Precondition
col must be compatible with the range of the GenericMultiComponent2d.
Example:
//copy the elements of the column 0 of A1 in the column 1 of A2
std::copy(A1.col_begin(0),A1.col_end(0),A2.col_begin(1));
col_range_iterator slip::GenericMultiComponent2d< slip::Vector2d< T > >::col_begin ( const size_type  col,
const slip::Range< int > &  range 
)
inherited

Returns a read-write iterator that points to the first element of the Range range of the col col in the GenericMultiComponent2d. Iteration is done in ordinary element order according to the Range.

Parameters
colThe index of the column to iterate.
rangeRange of the column to iterate
Returns
begin col_range_iterator value
Remarks
This iterator is compatible with RandomAccessIterator algorithms.
Precondition
col must be compatible with the range of the GenericMultiComponent2d.
The range must be inside the whole range of the GenericMultiComponent2d.
Example:
slip::Range<int> range(0,A1.dim1()-1,2);
//copy the elements of the column 0 of A1 iterated according to the
//range in the column 1 of A2
std::copy(A1.col_begin(0,range),A1.col_end(0,range),A2.col_begin(1));
const_col_range_iterator slip::GenericMultiComponent2d< slip::Vector2d< T > >::col_begin ( const size_type  col,
const slip::Range< int > &  range 
) const
inherited

Returns a read-only iterator that points to the first element of the Range range of the col col in the GenericMultiComponent2d. Iteration is done in ordinary element order according to the Range.

Parameters
colThe index of the column to iterate.
rangeRange of the column to iterate.
Returns
begin const_col_range_iterator value
Remarks
This iterator is compatible with RandomAccessIterator algorithms.
Precondition
col must be compatible with the range of the GenericMultiComponent2d.
The range must be inside the whole range of the GenericMultiComponent2d.
Example:
slip::Range<int> range(0,A1.dim1()-1,2);
//copy the elements of the column 0 of A1 iterated according to the
//range in the column 1 of A2
std::copy(A1.col_begin(0,range),A1.col_end(0,range),A2.col_begin(1));
component_col_iterator slip::GenericMultiComponent2d< slip::Vector2d< T > >::col_begin ( const std::size_t  component,
const std::size_t  col 
)
inherited

Returns a read/write iterator that points to the first element in the GenericMultiComponent2d. Iteration is done in ordinary element order.

Parameters
componentThe component number.
colThe col within the component.
Returns
begin component_col_iterator value.
const_component_col_iterator slip::GenericMultiComponent2d< slip::Vector2d< T > >::col_begin ( const std::size_t  component,
const std::size_t  col 
) const
inherited

Returns a read-only (constant) iterator that points to the first element in the GenericMultiComponent2d. Iteration is done in ordinary element order.

Parameters
componentThe component number.
colThe col within the component.
Returns
const begin component_col_iterator value
component_col_range_iterator slip::GenericMultiComponent2d< slip::Vector2d< T > >::col_begin ( const std::size_t  component,
const size_type  col,
const slip::Range< int > &  range 
)
inherited

Returns a read-write iterator that points to the first element of the Range range of the col col in the GenericMultiComponent2d. Iteration is done in ordinary element order according to the Range.

Parameters
componentThe component number.
colThe index of the column to iterate.
rangeRange of the column to iterate
Returns
begin component_col_range_iterator value
Remarks
This iterator is compatible with RandomAccessIterator algorithms.
Precondition
col must be compatible with the range of the GenericMultiComponent2d.
The range must be inside the whole range of the GenericMultiComponent2d.
Example:
slip::Range<int> range(0,A1.dim1()-1,2);
//copy the first component of the elements of the column 0 of A1 iterated according to the
//range in the column 1 of A2
std::copy(A1.col_begin(0,0,range),A1.col_end(0,0,range),A2.col_begin(0,1));
const_component_col_range_iterator slip::GenericMultiComponent2d< slip::Vector2d< T > >::col_begin ( const std::size_t  component,
const size_type  col,
const slip::Range< int > &  range 
) const
inherited

Returns a read-only iterator that points to the first element of the Range range of the col col in the GenericMultiComponent2d. Iteration is done in ordinary element order according to the Range.

Parameters
componentThe component number.
colThe index of the column to iterate.
rangeRange of the column to iterate.
Returns
begin const_component_col_range_iterator value
Remarks
This iterator is compatible with RandomAccessIterator algorithms.
Precondition
col must be compatible with the range of the GenericMultiComponent2d.
The range must be inside the whole range of the GenericMultiComponent2d.
Example:
slip::Range<int> range(0,A1.dim1()-1,2);
//copy the first component of the elements of the column 0 of A1 iterated according to the
//range in the column 1 of A2
std::copy(A1.col_begin(0,0,range),A1.col_end(0,0,range),A2.col_begin(0,1));
col_iterator slip::GenericMultiComponent2d< slip::Vector2d< T > >::col_end ( const size_type  col)
inherited

Returns a read/write iterator that points one past the end element of the column column in the GenericMultiComponent2d. Iteration is done modulo the number of columns.

Parameters
colThe index of the column to iterate.
Returns
begin col_iterator value
Remarks
This iterator is compatible with RandomAccessIterator algorithms.
Precondition
col must be compatible with the range of the GenericMultiComponent2d.
Example:
//copy the elements of the column 0 of A1 in the column 1 of A2
std::copy(A1.col_begin(0),A1.col_end(0),A2.col_begin(1));
const_col_iterator slip::GenericMultiComponent2d< slip::Vector2d< T > >::col_end ( const size_type  col) const
inherited

Returns a read-only iterator that points one past the end element of the column column in the GenericMultiComponent2d. Iteration is done modulo the number of columns.

Parameters
colThe index of the column
Returns
begin const_col_iterator value
Remarks
This iterator is compatible with RandomAccessIterator algorithms.
Precondition
col must be compatible with the range of the GenericMultiComponent2d.
Example:
//copy the elements of the column 0 of A1 in the column 1 of A2
std::copy(A1.col_begin(0),A1.col_end(0),A2.col_begin(1));
col_range_iterator slip::GenericMultiComponent2d< slip::Vector2d< T > >::col_end ( const size_type  col,
const slip::Range< int > &  range 
)
inherited

Returns a read-write iterator that points to the past the end element of the Range range of the col col in the GenericMultiComponent2d. Iteration is done in ordinary element order according to the Range.

Parameters
colThe index of the column to iterate.
rangeRange of the column to iterate.
Returns
begin col_range_iterator value
Remarks
This iterator is compatible with RandomAccessIterator algorithms.
Precondition
col must be compatible with the range of the GenericMultiComponent2d.
The range must be inside the whole range of the GenericMultiComponent2d.
Example:
slip::Range<int> range(0,A1.dim1()-1,2);
//copy the elements of the column 0 of A1 iterated according to the
//range in the column 1 of A2
std::copy(A1.col_begin(0,range),A1.col_end(0,range),A2.col_begin(1));
const_col_range_iterator slip::GenericMultiComponent2d< slip::Vector2d< T > >::col_end ( const size_type  col,
const slip::Range< int > &  range 
) const
inherited

Returns a read-only iterator that points to the past the end element of the Range range of the col col in the GenericMultiComponent2d. Iteration is done in ordinary element order according to the Range.

Parameters
colThe index of the column to iterate.
rangeRange of the column to iterate
Returns
begin const_col_range_iterator value
Remarks
This iterator is compatible with RandomAccessIterator algorithms.
Precondition
col must be compatible with the range of the GenericMultiComponent2d.
The range must be inside the whole range of the GenericMultiComponent2d.
Example:
slip::Range<int> range(0,A1.dim1()-1,2);
//copy the elements of the column 0 of A1 iterated according to the
//range in the column 1 of A2
std::copy(A1.col_begin(0,range),A1.col_end(0,range),A2.col_begin(1));
component_col_iterator slip::GenericMultiComponent2d< slip::Vector2d< T > >::col_end ( const std::size_t  component,
const std::size_t  col 
)
inherited

Returns a read/write iterator that points one past the last element in the GenericMultiComponent2d. Iteration is done in ordinary element order.

Parameters
componentThe component number.
colThe col within the component.
Returns
end component_col_iterator value
const_component_col_iterator slip::GenericMultiComponent2d< slip::Vector2d< T > >::col_end ( const std::size_t  component,
const std::size_t  col 
) const
inherited

Returns a read-only (constant) iterator that points one past the last element in the GenericMultiComponent2d. Iteration is done in ordinary element order.

Parameters
componentThe component number.
colThe col within the component.
Returns
const end component_col_iterator value
component_col_range_iterator slip::GenericMultiComponent2d< slip::Vector2d< T > >::col_end ( const std::size_t  component,
const size_type  col,
const slip::Range< int > &  range 
)
inherited

Returns a read-write iterator that points to the past the end element of the Range range of the col col in the GenericMultiComponent2d. Iteration is done in ordinary element order according to the Range.

Parameters
componentThe component number.
colThe index of the column to iterate.
rangeRange of the column to iterate.
Returns
begin component_col_range_iterator value
Remarks
This iterator is compatible with RandomAccessIterator algorithms.
Precondition
col must be compatible with the range of the GenericMultiComponent2d.
The range must be inside the whole range of the GenericMultiComponent2d.
Example:
slip::Range<int> range(0,A1.dim1()-1,2);
//copy the first component of the elements of the column 0 of A1 iterated according to the
//range in the column 1 of A2
std::copy(A1.col_begin(0,0,range),A1.col_end(0,0,range),A2.col_begin(0,1));
const_component_col_range_iterator slip::GenericMultiComponent2d< slip::Vector2d< T > >::col_end ( const std::size_t  component,
const size_type  col,
const slip::Range< int > &  range 
) const
inherited

Returns a read-only iterator that points to the past the end element of the Range range of the col col in the GenericMultiComponent2d. Iteration is done in ordinary element order according to the Range.

Parameters
componentThe component number.
colThe index of the column to iterate.
rangeRange of the column to iterate
Returns
begin const_component_col_range_iterator value
Remarks
This iterator is compatible with RandomAccessIterator algorithms.
Precondition
col must be compatible with the range of the GenericMultiComponent2d.
The range must be inside the whole range of the GenericMultiComponent2d.
Example:
slip::Range<int> range(0,A1.dim1()-1,2);
//copy the first component of the elements of the column 0 of A1 iterated according to the
//range in the column 1 of A2
std::copy(A1.col_begin(0,0,range),A1.col_end(0,0,range),A2.col_begin(0,1));
reverse_col_iterator slip::GenericMultiComponent2d< slip::Vector2d< T > >::col_rbegin ( const size_type  col)
inherited

Returns a read/write reverse iterator that points to the last element of the column column in the GenericMultiComponent2d. Iteration is done modulo the number of columns and in the reverse element order.

Parameters
colThe index of the column to iterate.
Returns
begin col_reverse_iterator value
Remarks
This iterator is compatible with RandomAccessIterator algorithms.
Precondition
col must be compatible with the range of the GenericMultiComponent2d.
const_reverse_col_iterator slip::GenericMultiComponent2d< slip::Vector2d< T > >::col_rbegin ( const size_type  col) const
inherited

Returns a read-only reverse iterator that points to the last element of the column column in the GenericMultiComponent2d. Iteration is done modulo the number of columns and in the reverse element order.

Parameters
colThe index of the column to iterate.
Returns
begin const_reverse_col_iterator value
Remarks
This iterator is compatible with RandomAccessIterator algorithms.
Precondition
col must be compatible with the range of the GenericMultiComponent2d.
reverse_col_range_iterator slip::GenericMultiComponent2d< slip::Vector2d< T > >::col_rbegin ( const size_type  col,
const slip::Range< int > &  range 
)
inherited

Returns a read-write iterator that points to the last element of the Range range of the col col in the GenericMultiComponent2d. Iteration is done in the reverse element order according to the Range.

Parameters
colThe index of the column to iterate.
rangeRange of the column to iterate.
Returns
begin reverse_col_range_iterator value
Remarks
This iterator is compatible with RandomAccessIterator algorithms.
Precondition
col must be compatible with the range of the GenericMultiComponent2d.
The range must be inside the whole range of the GenericMultiComponent2d.
const_reverse_col_range_iterator slip::GenericMultiComponent2d< slip::Vector2d< T > >::col_rbegin ( const size_type  col,
const slip::Range< int > &  range 
) const
inherited

Returns a read_only iterator that points to the last element of the Range & range of the col col in the GenericMultiComponent2d. Iteration is done in the reverse element order according to the Range.

Parameters
colThe index of the column to iterate.
rangeRange of the column to iterate.
Returns
begin const_reverse_col_range_iterator value
Remarks
This iterator is compatible with RandomAccessIterator algorithms.
Precondition
col must be compatible with the range of the GenericMultiComponent2d.
The range must be inside the whole range of the GenericMultiComponent2d.
reverse_component_col_iterator slip::GenericMultiComponent2d< slip::Vector2d< T > >::col_rbegin ( const std::size_t  component,
const std::size_t  col 
)
inherited

Returns a read/write iterator that points to the last element of the col col in the GenericMultiComponent2d. Iteration is done in reverse element order.

Parameters
componentThe component number.
colThe col within the component.
Returns
begin reverse_component_col_iterator value.
const_reverse_component_col_iterator slip::GenericMultiComponent2d< slip::Vector2d< T > >::col_rbegin ( const std::size_t  component,
const std::size_t  col 
) const
inherited

Returns a read-only (constant) iterator that points to the last element of the col col in the GenericMultiComponent2d. Iteration is done in reverse element order.

Parameters
componentThe component number.
colThe col within the component.
Returns
const reverse_component_col_iterator value
reverse_component_col_range_iterator slip::GenericMultiComponent2d< slip::Vector2d< T > >::col_rbegin ( const std::size_t  component,
const size_type  col,
const slip::Range< int > &  range 
)
inherited

Returns a read-write iterator that points to the last element of the Range range of the col col in the GenericMultiComponent2d. Iteration is done in the reverse element order according to the Range.

Parameters
componentThe component number.
colThe index of the column to iterate.
rangeRange of the column to iterate.
Returns
begin reverse_component_col_range_iterator value
Remarks
This iterator is compatible with RandomAccessIterator algorithms.
Precondition
col must be compatible with the range of the GenericMultiComponent2d.
The range must be inside the whole range of the GenericMultiComponent2d.
const_reverse_component_col_range_iterator slip::GenericMultiComponent2d< slip::Vector2d< T > >::col_rbegin ( const std::size_t  component,
const size_type  col,
const slip::Range< int > &  range 
) const
inherited

Returns a read_only iterator that points to the last element of the Range & range of the col col in the GenericMultiComponent2d. Iteration is done in the reverse element order according to the Range.

Parameters
componentThe component number.
colThe index of the column to iterate.
rangeRange of the column to iterate.
Returns
begin const_reverse_component_col_range_iterator value
Remarks
This iterator is compatible with RandomAccessIterator algorithms.
Precondition
col must be compatible with the range of the GenericMultiComponent2d.
The range must be inside the whole range of the GenericMultiComponent2d.
reverse_col_iterator slip::GenericMultiComponent2d< slip::Vector2d< T > >::col_rend ( const size_type  col)
inherited

Returns a read/write reverse iterator that points one past the first element of the column column in the GenericMultiComponent2d. Iteration is done modulo the number of columns and in the reverse element order.

Parameters
colThe index of the column to iterate.
Returns
end reverse_col_iterator value
Remarks
This iterator is compatible with RandomAccessIterator algorithms.
Precondition
col must be compatible with the range of the GenericMultiComponent2d.
const_reverse_col_iterator slip::GenericMultiComponent2d< slip::Vector2d< T > >::col_rend ( const size_type  col) const
inherited

Returns a read-only reverse iterator that points one past the first element of the column column in the GenericMultiComponent2d. Iteration is done modulo the number of columns and in the reverse element order.

Parameters
colThe index of the column to iterate.
Returns
end const_reverse_col_iterator value
Remarks
This iterator is compatible with RandomAccessIterator algorithms.
Precondition
col must be compatible with the range of the GenericMultiComponent2d.
reverse_col_range_iterator slip::GenericMultiComponent2d< slip::Vector2d< T > >::col_rend ( const size_type  col,
const slip::Range< int > &  range 
)
inherited

Returns a read-write iterator that points to one before the first element of the Range range of the col col in the GenericMultiComponent2d. Iteration is done in the reverse element order according to the Range.

Parameters
colThe index of the column to iterate.
rangeRange of the column to iterate.
Returns
reverse_col_range_iterator value
Remarks
This iterator is compatible with RandomAccessIterator algorithms.
Precondition
col must be compatible with the range of the GenericMultiComponent2d.
The range must be inside the whole range of the GenericMultiComponent2d.
const_reverse_col_range_iterator slip::GenericMultiComponent2d< slip::Vector2d< T > >::col_rend ( const size_type  col,
const slip::Range< int > &  range 
) const
inherited

Returns a read-only iterator that points to the first element of the Range range of the col col in the GenericMultiComponent2d. Iteration is done in the reverse element order according to the Range.

Parameters
colThe index of the column to iterate.
rangeRange of the column to iterate.
Returns
const_reverse_col_range_iterator value
Remarks
This iterator is compatible with RandomAccessIterator algorithms.
Precondition
col must be compatible with the range of the GenericMultiComponent2d.
The range must be inside the whole range of the GenericMultiComponent2d.
reverse_component_col_iterator slip::GenericMultiComponent2d< slip::Vector2d< T > >::col_rend ( const std::size_t  component,
const std::size_t  col 
)
inherited

Returns a read/write iterator that points one before the first element of the col col in the GenericMultiComponent2d. Iteration is done in the reverse element order.

Parameters
componentThe component number.
colThe col within the component.
Returns
end component_col_iterator value
const_reverse_component_col_iterator slip::GenericMultiComponent2d< slip::Vector2d< T > >::col_rend ( const std::size_t  component,
const std::size_t  col 
) const
inherited

Returns a read-only (constant) iterator that points one before the first element of the col col in the GenericMultiComponent2d. Iteration is done in ordinary element order.

Parameters
componentThe component number.
colThe col within the component.
Returns
const end component_col_iterator value
reverse_component_col_range_iterator slip::GenericMultiComponent2d< slip::Vector2d< T > >::col_rend ( const std::size_t  component,
const size_type  col,
const slip::Range< int > &  range 
)
inherited

Returns a read-write iterator that points to one before the first element of the Range range of the col col in the GenericMultiComponent2d. Iteration is done in the reverse element order according to the Range.

Parameters
componentThe component number.
colThe index of the column to iterate.
rangeRange of the column to iterate.
Returns
reverse_component_col_range_iterator value
Remarks
This iterator is compatible with RandomAccessIterator algorithms.
Precondition
col must be compatible with the range of the GenericMultiComponent2d.
The range must be inside the whole range of the GenericMultiComponent2d.
const_reverse_component_col_range_iterator slip::GenericMultiComponent2d< slip::Vector2d< T > >::col_rend ( const std::size_t  component,
const size_type  col,
const slip::Range< int > &  range 
) const
inherited

Returns a read-only iterator that points to the first element of the Range range of the col col in the GenericMultiComponent2d. Iteration is done in the reverse element order according to the Range.

Parameters
componentThe component number.
colThe index of the column to iterate.
rangeRange of the column to iterate.
Returns
const_reverse_component_col_range_iterator value
Remarks
This iterator is compatible with RandomAccessIterator algorithms.
Precondition
col must be compatible with the range of the GenericMultiComponent2d.
The range must be inside the whole range of the GenericMultiComponent2d.
size_type slip::GenericMultiComponent2d< slip::Vector2d< T > >::cols ( ) const
inherited

Returns the number of columns (second dimension size) in the GenericMultiComponent2d.

size_type slip::GenericMultiComponent2d< slip::Vector2d< T > >::columns ( ) const
inherited

Returns the number of columns (second dimension size) in the GenericMultiComponent2d.

template<typename T, typename GridT>
template<typename Container2D >
void slip::RegularVector2dField2d< T, GridT >::derivative ( const std::size_t  component,
const slip::SPATIAL_DIRECTION  der_dir,
const std::size_t  der_order,
const std::size_t  sch_order,
Container2D &  result 
) const
inline

Computes finite differences derivatives of a RegularVector2dField2d.

Author
Benoit Tremblais <benoit.tremblais_AT_sic.univ-poitiers.fr>
Date
2007/11/26
Version
0.0.1
Parameters
componentComponent of the RegularVector2dField2d to derivate.
der_dirSPATIAL_DIRECTION of the derivative :
  • X_DIRECTION or
  • Y_DIRECTION.
der_orderDerivative order.
sch_orderOrder of derivation scheme.
resultA Container2D which contain the result of the derivative.
Precondition
component < 2
if der_dir == X_DIRECTION, rows() must be > sch_order
if der_dir == Y_DIRECTION, cols() must be > sch_order
sch_order must be >= der_order
Example:
//computes some derivatives on the field VFM
slip::Matrix<double> Result(nj,ni);
std::size_t plane = 0; //computes on Vx (U)
std::cout<<"-- direction X, ordre 1 (der), ordre 1 (sch) --"<<std::endl;
VFM.derivative(plane,slip::X_DIRECTION,1,1,Result);
plane = 1; //computes on Vy (V)
std::cout<<"-- direction Y, ordre 1 (der), ordre 4 (sch) --"<<std::endl;
VFM.derivative(plane,slip::Y_DIRECTION,1,4,Result);

Definition at line 935 of file RegularVector2dField2d.hpp.

template<typename T, typename GridT>
template<typename Container2D >
void slip::RegularVector2dField2d< T, GridT >::derivative ( const std::size_t  component,
const slip::SPATIAL_DIRECTION  der_dir,
const std::size_t  der_order,
const std::size_t  sch_order,
const slip::Box2d< int >  box,
Container2D &  result 
) const
inline

Computes finite differences derivatives of a RegularVector2dField2d.

Author
Adrien Berchet <adrien.berchet_AT_sic.univ-poitiers.fr>
Date
2014/04/14
Version
0.0.1
Since
1.4.0
Parameters
componentComponent of the RegularVector2dField2d to derivate.
der_dirSPATIAL_DIRECTION of the derivative :
  • X_DIRECTION or
  • Y_DIRECTION.
der_orderDerivative order.
sch_orderOrder of derivation scheme.
resultA Container2D which contain the result of the derivative.
Precondition
component < 2
if der_dir == X_DIRECTION, rows() must be > sch_order
if der_dir == Y_DIRECTION, cols() must be > sch_order
sch_order must be >= der_order
Example:
//computes some derivatives on the field VFM
slip::Array2d<double> Matrice(5,8,0.0);
slip::iota(Matrice.begin(),Matrice.end(),1.0,1.0);
//copy M two time : in the first component and in the second component of VFM
slip::RegularVector2dField2d<double> VFM(5,8,Matrice.begin(),Matrice.end(),Matrice.begin());
slip::Matrix2d<double> Result(5,8,0.0);
std::cout<<"Matrice="<<std::endl;
std::cout<<Matrice<<std::endl;
std::size_t comp = 0; // the component to derivate
std::cout<<"-- component 0, direction X, ordre 1 (der), ordre 1 (sch), box2d --"<<std::endl;
VFM.derivative(comp,slip::X_DIRECTION,1,1,box2d,Result);
std::cout<<"Result="<<std::endl;
std::cout<<Result<<std::endl;

Definition at line 1040 of file RegularVector2dField2d.hpp.

size_type slip::GenericMultiComponent2d< slip::Vector2d< T > >::dim1 ( ) const
inherited

Returns the number of rows (first dimension size) in the GenericMultiComponent2d.

size_type slip::GenericMultiComponent2d< slip::Vector2d< T > >::dim2 ( ) const
inherited

Returns the number of columns (second dimension size) in the GenericMultiComponent2d.

template<typename T, typename GridT>
template<typename Container2D >
void slip::RegularVector2dField2d< T, GridT >::divergence ( const std::size_t  sch_order,
Container2D &  result 
) const
inline

Computes finite differences divergence of a RegularVector2dField2d.

Author
Benoit Tremblais <benoit.tremblais_AT_sic.univ-poitiers.fr>
Date
2007/11/26
Version
0.0.1
Parameters
sch_orderOrder of derivation scheme.
resultA Container2D which contain the result of the divergence.
Precondition
sch_order must be >= 1
Example:
//computes the divergence at order 4 on the field Vxy
slip::Matrix<double> div(Vxy.rows(),Vxy.cols());
Vxy.divergence(4,div);

Definition at line 1119 of file RegularVector2dField2d.hpp.

bool slip::GenericMultiComponent2d< slip::Vector2d< T > >::empty ( ) const
inherited

Returns true if the GenericMultiComponent2d is empty. (Thus size() == 0)

Returns a read/write iterator that points one past the last element in the GenericMultiComponent2d. Iteration is done in ordinary element order.

Returns
end iterator value
Remarks
This iterator is compatible with RandomAccessIterator algorithms.
Example:
//copy the sum of the elements of A1 and A2 in S
std::transform(A1.begin(),A1.end(),
A2.begin(),S.begin(),
std::plus<slip::Vector2d<double> >());

Returns a read-only (constant) iterator that points one past the last element in the GenericMultiComponent2d. Iteration is done in ordinary element order.

Returns
const end iterator value
Remarks
This iterator is compatible with RandomAccessIterator algorithms.
Example:
//copy the sum of the elements of A1 and A2 in S
std::transform(A1.begin(),A1.end(),
A2.begin(),S.begin(),
std::plus<slip::Vector2d<double> >());
component_iterator slip::GenericMultiComponent2d< slip::Vector2d< T > >::end ( const std::size_t  component)
inherited

Returns a read/write iterator that points one past the last element in the GenericMultiComponent2d. Iteration is done in ordinary element order.

Parameters
componentThe component number.
Returns
end component_iterator value
const_component_iterator slip::GenericMultiComponent2d< slip::Vector2d< T > >::end ( const std::size_t  component) const
inherited

Returns a read-only (constant) iterator that points one past the last element in the GenericMultiComponent2d. Iteration is done in ordinary element order.

Parameters
componentThe component number.
Returns
const end component_iterator value
void slip::GenericMultiComponent2d< slip::Vector2d< T > >::fill ( const slip::Vector2d< T > &  value)
inlineinherited

Fills the container range [begin(),begin()+size()) with copies of value.

Parameters
valueA reference-to-const of arbitrary type.

Definition at line 3050 of file GenericMultiComponent2d.hpp.

void slip::GenericMultiComponent2d< slip::Vector2d< T > >::fill ( const typename slip::Vector2d< T > ::pointer  value)
inlineinherited

Fills the container range [begin(),begin()+size()) with a copy of the value array.

Parameters
valueA pointer of arbitrary type.

Definition at line 3061 of file GenericMultiComponent2d.hpp.

void slip::GenericMultiComponent2d< slip::Vector2d< T > >::fill ( const slip::Vector2d< T > *  value)
inlineinherited

Fills the container range [begin(),begin()+size()) with a copy of the value array.

Parameters
valueA pointer of arbitrary type.

Definition at line 3072 of file GenericMultiComponent2d.hpp.

void slip::GenericMultiComponent2d< slip::Vector2d< T > >::fill ( InputIterator  first,
InputIterator  last 
)
inlineinherited

Fills the container range [begin(),begin()+size()) with a copy of the range [first,last)

Parameters
firstAn input iterator.
lastAn input iterator.

Definition at line 3086 of file GenericMultiComponent2d.hpp.

void slip::GenericMultiComponent2d< slip::Vector2d< T > >::fill ( std::vector< InputIterator >  first_iterators_list,
InputIterator  last 
)
inlineinherited

Fills the container range [begin(),begin()+size()) with a copy of the range [first,last)

Parameters
first_iterators_listAn input iterator list.
lastAn input iterator.

Definition at line 3101 of file GenericMultiComponent2d.hpp.

void slip::GenericMultiComponent2d< slip::Vector2d< T > >::fill ( std::size_t  component,
InputIterator  first,
InputIterator  last 
)
inlineinherited

Fills the container range [begin(),begin()+size()) with a copy of the range [first,last)

Parameters
componentThe component number.
firstAn input iterator.
lastAn input iterator.

Definition at line 3133 of file GenericMultiComponent2d.hpp.

template<typename T , typename GridT >
const slip::Point2d< GridT > & slip::RegularVector2dField2d< T, GridT >::get_grid_step ( ) const
inline

Read access to the init point of the grid.

Returns
A slip::Point2d<GridT>

Definition at line 1714 of file RegularVector2dField2d.hpp.

template<typename T , typename GridT >
const slip::Point2d< GridT > & slip::RegularVector2dField2d< T, GridT >::get_init_point ( ) const
inline

Read access to the init point of the grid.

Returns
A slip::Point2d<GridT>

Definition at line 1700 of file RegularVector2dField2d.hpp.

size_type slip::GenericMultiComponent2d< slip::Vector2d< T > >::height ( ) const
inherited

Returns the height (first dimension size) in the GenericMultiComponent2d.

template<typename T, typename GridT>
template<typename Container2D >
void slip::RegularVector2dField2d< T, GridT >::lambda2 ( const std::size_t  sch_order,
Container2D &  result 
)
inline

Computes finite differences lambda2 of a RegularVector2dField2d.

Author
Benoit Tremblais <benoit.tremblais_AT_sic.univ-poitiers.fr>
Date
2007/11/26
Version
0.0.1
Parameters
sch_orderOrder of derivation scheme.
resultA Container2D which contain the result of the lambda2.
Precondition
sch_order must be >= 1
Bug:
should be a const method
//computes the lambda2 at order 4 on the field Vxy
slip::Matrix<double> l2(Vxy.rows(),Vxy.cols());
Vxy.lambda2(4,l2);

Definition at line 1203 of file RegularVector2dField2d.hpp.

slip::Vector2d< T > slip::GenericMultiComponent2d< slip::Vector2d< T > >::max ( ) const
inherited

Returns the max elements of the GenericMultiComponent2d according to the operator <.

Precondition
size() != 0
size_type slip::GenericMultiComponent2d< slip::Vector2d< T > >::max_size ( ) const
inherited

Returns the maximal size (number of elements) in the GenericMultiComponent2d.

slip::Vector2d< T > slip::GenericMultiComponent2d< slip::Vector2d< T > >::min ( ) const
inherited

Returns the min elements of the GenericMultiComponent2d according to the operator <.

Precondition
size() != 0
template<typename T , typename GridT >
std::string slip::RegularVector2dField2d< T, GridT >::name ( ) const
inline

Returns the name of the class.

Definition at line 1903 of file RegularVector2dField2d.hpp.

template<typename T , typename GridT >
RegularVector2dField2d< T, GridT >::norm_type slip::RegularVector2dField2d< T, GridT >::norm ( const size_type  i,
const size_type  j 
) const
inline

Subscript access to a local norm contained in the RegularVector2dField2d.

Parameters
iThe index of the row for which the data should be accessed.
jThe index of the columns for which the data should be accessed.
Returns
Read_only (constant) reference to data.
Precondition
i < rows()
j < columns()

This operator allows for easy, 2d array-style, data access. Note that data access with this operator is unchecked and out_of_range lookups are not defined.

Definition at line 1649 of file RegularVector2dField2d.hpp.

template<typename T, typename GridT>
template<typename Container2D >
void slip::RegularVector2dField2d< T, GridT >::norm ( Container2D &  result)
inline

Computes Eucliean norm of each element in the field and write it to a Container2D.

Author
Benoit Tremblais <benoit.tremblais_AT_sic.univ-poitiers.fr>
Date
2008/04/21
Version
0.0.1
Parameters
resultA Container2D which contain the norm of each element.

Definition at line 1256 of file RegularVector2dField2d.hpp.

reference slip::GenericMultiComponent2d< slip::Vector2d< T > >::operator() ( const size_type  i,
const size_type  j 
)
inherited

Subscript access to the data contained in the GenericMultiComponent2d.

Parameters
iThe index of the row for which the data should be accessed.
jThe index of the columns for which the data should be accessed.
Returns
Read/write reference to data.
Precondition
i < rows()
j < columns()

This operator allows for easy, 2d array-style, data access. Note that data access with this operator is unchecked and out_of_range lookups are not defined.

const_reference slip::GenericMultiComponent2d< slip::Vector2d< T > >::operator() ( const size_type  i,
const size_type  j 
) const
inherited

Subscript access to the data contained in the GenericMultiComponent2d.

Parameters
iThe index of the row for which the data should be accessed.
jThe index of the columns for which the data should be accessed.
Returns
Read_only (constant) reference to data.
Precondition
i < rows()
j < columns()

This operator allows for easy, 2d array-style, data access. Note that data access with this operator is unchecked and out_of_range lookups are not defined.

reference slip::GenericMultiComponent2d< slip::Vector2d< T > >::operator() ( const Point2d< size_type > &  point2d)
inherited

Subscript access to the data contained in the GenericMultiComponent2d.

Parameters
point2dA Point2d which indicate the subscripts of the data to access.
Returns
Read/write reference to data.
Precondition
point2d must be defined in the range of the GenericMultiComponent2d.

This operator allows for easy, 2d array-style, data access. Note that data access with this operator is unchecked and out_of_range lookups are not defined.

const_reference slip::GenericMultiComponent2d< slip::Vector2d< T > >::operator() ( const Point2d< size_type > &  point2d) const
inherited

Subscript access to the data contained in the GenericMultiComponent2d.

Parameters
point2dA Point2d which indicate the subscripts of the data to access.
Returns
Read_only (constant) reference to data.
Precondition
point2d must be defined in the range of the GenericMultiComponent2d.

This operator allows for easy, 2d array-style, data access. Note that data access with this operator is unchecked and out_of_range lookups are not defined.

self slip::GenericMultiComponent2d< slip::Vector2d< T > >::operator() ( const Range< int > &  row_range,
const Range< int > &  col_range 
)
inherited

Subscript access to the data contained in the GenericMultiComponent2d.

Parameters
row_rangeThe range of the rows.
col_rangeThe range of the columns.
Returns
a copy of the range.
Precondition
row_range and col_range must be valid.
The ranges indices must be inside the ranges of the GenericMultiComponent2d ones.

This operator allows for easy, 2d array-style, data access. Note that data access with this operator is unchecked and out_of_range lookups are not defined.

template<typename T, typename GridT >
RegularVector2dField2d< T, GridT > & slip::RegularVector2dField2d< T, GridT >::operator*= ( const T &  val)
inline

Definition at line 1744 of file RegularVector2dField2d.hpp.

template<typename T, typename GridT >
RegularVector2dField2d< T, GridT > & slip::RegularVector2dField2d< T, GridT >::operator*= ( const slip::Vector2d< T > &  val)
inline

Definition at line 1778 of file RegularVector2dField2d.hpp.

template<typename T, typename GridT >
RegularVector2dField2d< T, GridT > & slip::RegularVector2dField2d< T, GridT >::operator*= ( const self rhs)
inline

Definition at line 1841 of file RegularVector2dField2d.hpp.

template<typename T, typename GridT >
RegularVector2dField2d< T, GridT > & slip::RegularVector2dField2d< T, GridT >::operator+= ( const T &  val)
inline

Add val to each element of the RegularVector2dField2d.

Parameters
valvalue
Returns
reference to the resulting RegularVector2dField2d

Definition at line 1728 of file RegularVector2dField2d.hpp.

template<typename T, typename GridT >
RegularVector2dField2d< T, GridT > & slip::RegularVector2dField2d< T, GridT >::operator+= ( const slip::Vector2d< T > &  val)
inline

Add val to each element of the RegularVector2dField2d.

Parameters
valvalue
Returns
reference to the resulting RegularVector2dField2d

Definition at line 1762 of file RegularVector2dField2d.hpp.

template<typename T, typename GridT >
RegularVector2dField2d< T, GridT > & slip::RegularVector2dField2d< T, GridT >::operator+= ( const self rhs)
inline

Definition at line 1805 of file RegularVector2dField2d.hpp.

template<typename T , typename GridT >
RegularVector2dField2d< T, GridT > slip::RegularVector2dField2d< T, GridT >::operator- ( ) const
inline

Definition at line 1796 of file RegularVector2dField2d.hpp.

template<typename T, typename GridT >
RegularVector2dField2d< T, GridT > & slip::RegularVector2dField2d< T, GridT >::operator-= ( const T &  val)
inline

Definition at line 1736 of file RegularVector2dField2d.hpp.

template<typename T, typename GridT >
RegularVector2dField2d< T, GridT > & slip::RegularVector2dField2d< T, GridT >::operator-= ( const slip::Vector2d< T > &  val)
inline

Definition at line 1770 of file RegularVector2dField2d.hpp.

template<typename T, typename GridT >
RegularVector2dField2d< T, GridT > & slip::RegularVector2dField2d< T, GridT >::operator-= ( const self rhs)
inline

Definition at line 1823 of file RegularVector2dField2d.hpp.

template<typename T, typename GridT >
RegularVector2dField2d< T, GridT > & slip::RegularVector2dField2d< T, GridT >::operator/= ( const T &  val)
inline

Definition at line 1752 of file RegularVector2dField2d.hpp.

template<typename T, typename GridT >
RegularVector2dField2d< T, GridT > & slip::RegularVector2dField2d< T, GridT >::operator/= ( const slip::Vector2d< T > &  val)
inline

Definition at line 1786 of file RegularVector2dField2d.hpp.

template<typename T, typename GridT >
RegularVector2dField2d< T, GridT > & slip::RegularVector2dField2d< T, GridT >::operator/= ( const self rhs)
inline

Definition at line 1859 of file RegularVector2dField2d.hpp.

template<typename T, typename GridT >
RegularVector2dField2d< T, GridT > & slip::RegularVector2dField2d< T, GridT >::operator= ( const slip::Vector2d< T > &  val)
inline

Affects all the element of the RegularVector2dField2d by val.

Parameters
valaffectation value
Returns
reference to corresponding RegularVector2dField2d

Definition at line 1567 of file RegularVector2dField2d.hpp.

template<typename T, typename GridT >
RegularVector2dField2d< T, GridT > & slip::RegularVector2dField2d< T, GridT >::operator= ( const T &  val)
inline

Affects all the element of the RegularVector2dField2d by val.

Parameters
valaffectation value
Returns
reference to corresponding RegularVector2dField2d

Definition at line 1576 of file RegularVector2dField2d.hpp.

pointer slip::GenericMultiComponent2d< slip::Vector2d< T > >::operator[] ( const size_type  i)
inherited

Subscript access to the row datas contained in the GenericMultiComponent2d.

Parameters
iThe index of the row for which data should be accessed.
Returns
Read/write pointer to the row data.
Precondition
i < rows()

This operator allows for easy, 2d array-style, data access. Note that data access with this operator is unchecked and out_of_range lookups are not defined.

const_pointer slip::GenericMultiComponent2d< slip::Vector2d< T > >::operator[] ( const size_type  i) const
inherited

Subscript access to the row datas contained in the GenericMultiComponent2d.

Parameters
iThe index of the row for which data should be accessed.
Returns
Read-only (constant) pointer to the row data.
Precondition
i < rows()

This operator allows for easy, 2d array-style, data access. Note that data access with this operator is unchecked and out_of_range lookups are not defined.

Returns a read/write reverse iterator that points to the last element in the GenericMultiComponent2d. Iteration is done in reverse element order.

Returns
reverse begin iterator value
Remarks
This iterator is compatible with RandomAccessIterator algorithms.
Example:
//copy the sum of the elements of A1 and A2
//in S (iterated in the reverse order element)
std::transform(A1.begin(),A1.end(),
A2.begin(),S.rbegin(),
std::plus<slip::Vector2d<double> >());

Returns a read-only (constant) reverse iterator that points to the last element in the GenericMultiComponent2d. Iteration is done in reverse element order.

Returns
const reverse begin iterator value
Remarks
This iterator is compatible with RandomAccessIterator algorithms.
Example:
//copy the sum of the elements of A1 (iterated in the reverse order element)
//and A2 in S
std::transform(A1.rbegin(),A1.rend(),
A2.begin(),S.begin(),
std::plus<slip::Vector2d<double> >());
reverse_component_iterator slip::GenericMultiComponent2d< slip::Vector2d< T > >::rbegin ( const std::size_t  component)
inherited

Returns a read/write iterator that points to the first element in the GenericMultiComponent2d. Iteration is done in ordinary element order.

Parameters
componentThe component number.
Returns
begin reverse_component_iterator value
const_reverse_component_iterator slip::GenericMultiComponent2d< slip::Vector2d< T > >::rbegin ( const std::size_t  component) const
inherited

Returns a read-only (constant) iterator that points to the first element in the GenericMultiComponent2d. Iteration is done in ordinary element order.

Parameters
componentThe component number.
Returns
const begin reverse_component_iterator value
reverse_iterator2d slip::GenericMultiComponent2d< slip::Vector2d< T > >::rbottom_right ( )
inherited

Returns a read/write reverse iterator2d. It points to past the upper left element of the GenericMultiComponent2d. Iteration is done in the reverse order.

Returns
reverse iterator2d value
Remarks
This iterator is compatible with BidirectionalIterator algorithms.
const_reverse_iterator2d slip::GenericMultiComponent2d< slip::Vector2d< T > >::rbottom_right ( ) const
inherited

Returns a read only reverse iterator2d. It points to past the upper left element of the GenericMultiComponent2d. Iteration is done in the reverse order.

Returns
const reverse iterator2d value
Remarks
This iterator is compatible with BidirectionalIterator algorithms.
reverse_iterator2d slip::GenericMultiComponent2d< slip::Vector2d< T > >::rbottom_right ( const Box2d< int > &  box)
inherited

Returns a read/write reverse iterator2d. It points to one before the upper left element of the Box2d box associated to the GenericMultiComponent2d.

Parameters
boxA Box2d defining the range of indices to iterate within the GenericMultiComponent2d.
Precondition
The box indices must be inside the range of the GenericMultiComponent2d ones.
Returns
reverse iterator2d value
Remarks
This iterator is compatible with BidirectionalIterator algorithms.
const_reverse_iterator2d slip::GenericMultiComponent2d< slip::Vector2d< T > >::rbottom_right ( const Box2d< int > &  box) const
inherited

Returns a read-only reverse iterator2d. It points to one before the element of the bottom right element of the Box2d box associated to the GenericMultiComponent2d.

Parameters
boxA Box2d defining the range of indices to iterate within the GenericMultiComponent2d.
Precondition
The box indices must be inside the range of the GenericMultiComponent2d ones.
Returns
const reverse iterator2d value
Remarks
This iterator is compatible with BidirectionalIterator algorithms.
reverse_iterator2d_range slip::GenericMultiComponent2d< slip::Vector2d< T > >::rbottom_right ( const Range< int > &  row_range,
const Range< int > &  col_range 
)
inherited

Returns a read/write reverse_iterator2d_range that points to one before the upper left element of the ranges row_range and col_range associated to the GenericMultiComponent2d. Iteration is done in the reverse order.

Parameters
row_rangeThe range of the rows.
col_rangeThe range of the columns.
Precondition
row_range and col_range must be valid.
The ranges indices must be inside the ranges of the GenericMultiComponent2d ones.
Returns
reverse_iterator2d_range value
Remarks
This iterator is compatible with BidirectionalIterator algorithms.
const_reverse_iterator2d_range slip::GenericMultiComponent2d< slip::Vector2d< T > >::rbottom_right ( const Range< int > &  row_range,
const Range< int > &  col_range 
) const
inherited

Returns a read-only reverse_iterator2d_range that points to one before the upper left element of the ranges row_range and col_range associated to the GenericMultiComponent2d.Iteration is done in the reverse order.

Parameters
row_rangeThe range of the rows.
col_rangeThe range of the columns.
Precondition
row_range and col_range must be valid.
The ranges indices must be inside the ranges of the GenericMultiComponent2d ones.
Returns
const_reverse_iterator2d_range value
Remarks
This iterator is compatible with BidirectionalIterator algorithms.
reverse_iterator2d_range slip::GenericMultiComponent2d< slip::Vector2d< T > >::rbottom_right ( const Range< int > &  range)
inherited

Returns a read/write reverse_iterator2d_range that points to one before the upper left element of the Range range associated to the GenericMultiComponent2d. The same range is applied for rows and cols. Iteration is done in the reverse order.

Parameters
rangeThe range of the rows and the cols.
Precondition
range must be valid.
The range indices must be inside the ranges of the GenericMultiComponent2d ones.
Returns
reverse_iterator2d_range value
Remarks
This iterator is compatible with BidirectionalIterator algorithms.
const_reverse_iterator2d_range slip::GenericMultiComponent2d< slip::Vector2d< T > >::rbottom_right ( const Range< int > &  range) const
inherited

Returns a read_only reverse_iterator2d_range that points to one before the upper left element of the Range range associated to the GenericMultiComponent2d. The same range is applied for rows and cols. Iteration is done in the reverse order.

Parameters
rangeThe range of the rows and the cols.
Precondition
range must be valid.
The range indices must be inside the ranges of the GenericMultiComponent2d ones.
Returns
const_reverse_iterator2d_range value
Remarks
This iterator is compatible with BidirectionalIterator algorithms.
reverse_component_iterator2d slip::GenericMultiComponent2d< slip::Vector2d< T > >::rbottom_right ( const std::size_t  component)
inherited

Returns a read/write reverse component iterator2d. It points to past the upper left element of the GenericMultiComponent2d. Iteration is done in the reverse order.

Parameters
componentThe component number.
Returns
reverse component iterator2d value
Remarks
This iterator is compatible with BidirectionalIterator algorithms.
const_reverse_component_iterator2d slip::GenericMultiComponent2d< slip::Vector2d< T > >::rbottom_right ( const std::size_t  component) const
inherited

Returns a read only reverse component iterator2d. It points to past the upper left element of the GenericMultiComponent2d. Iteration is done in the reverse order.

Parameters
componentThe component number.
Returns
const reverse component iterator2d value
Remarks
This iterator is compatible with BidirectionalIterator algorithms.
reverse_component_iterator2d slip::GenericMultiComponent2d< slip::Vector2d< T > >::rbottom_right ( const std::size_t  component,
const Box2d< int > &  box 
)
inherited

Returns a read/write reverse component iterator2d. It points to one before the upper left element of the Box2d box associated to the GenericMultiComponent2d.

Parameters
componentThe component number.
boxA Box2d defining the range of indices to iterate within the GenericMultiComponent2d.
Precondition
The box indices must be inside the range of the GenericMultiComponent2d ones.
Returns
reverse iterator2d value
Remarks
This iterator is compatible with BidirectionalIterator algorithms.
const_reverse_component_iterator2d slip::GenericMultiComponent2d< slip::Vector2d< T > >::rbottom_right ( const std::size_t  component,
const Box2d< int > &  box 
) const
inherited

Returns a read-only reverse component iterator2d. It points to one before the element of the bottom right element of the Box2d box associated to the GenericMultiComponent2d.

Parameters
componentThe component number.
boxA Box2d defining the range of indices to iterate within the GenericMultiComponent2d.
Precondition
The box indices must be inside the range of the GenericMultiComponent2d ones.
Returns
const reverse iterator2d value
Remarks
This iterator is compatible with BidirectionalIterator algorithms.
reverse_component_iterator2d_range slip::GenericMultiComponent2d< slip::Vector2d< T > >::rbottom_right ( const std::size_t  component,
const Range< int > &  row_range,
const Range< int > &  col_range 
)
inherited

Returns a read/write reverse_component_iterator2d_range that points to one before the upper left element of the ranges row_range and col_range associated to the GenericMultiComponent2d. Iteration is done in the reverse order.

Parameters
componentThe component number.
row_rangeThe range of the rows.
col_rangeThe range of the columns.
Precondition
row_range and col_range must be valid.
The ranges indices must be inside the ranges of the GenericMultiComponent2d ones.
Returns
reverse_iterator2d_range value
Remarks
This iterator is compatible with BidirectionalIterator algorithms.
const_reverse_component_iterator2d_range slip::GenericMultiComponent2d< slip::Vector2d< T > >::rbottom_right ( const std::size_t  component,
const Range< int > &  row_range,
const Range< int > &  col_range 
) const
inherited

Returns a read-only reverse_component_iterator2d_range that points to one before the upper left element of the ranges row_range and col_range associated to the GenericMultiComponent2d.Iteration is done in the reverse order.

Parameters
componentThe component number.
row_rangeThe range of the rows.
col_rangeThe range of the columns.
Precondition
row_range and col_range must be valid.
The ranges indices must be inside the ranges of the GenericMultiComponent2d ones.
Returns
const_reverse_iterator2d_range value
Remarks
This iterator is compatible with BidirectionalIterator algorithms.
template<typename T , typename GridT >
void slip::RegularVector2dField2d< T, GridT >::read_gnuplot ( const std::string &  file_path_name)
inline

Reads a RegularVector2dField2d from a gnuplot file path name.

Parameters
file_path_name
Data format:
x y U(x,y) V(x,y)
Remarks
x = j and y = (dim1 - 1) - i

Definition at line 1929 of file RegularVector2dField2d.hpp.

template<typename T , typename GridT >
void slip::RegularVector2dField2d< T, GridT >::read_tecplot ( const std::string &  file_path_name)
inline

Reads a RegularVector2dField2d from a tecplot file path name.

Parameters
file_path_name
Data format:

TITLE= title

VARIABLES= X Y U V

ZONE T= zone, I= rows(), J= << cols()

x y U(x,y) V(x,y)

Remarks
x = j and y = (dim1 - 1) - i

Definition at line 1937 of file RegularVector2dField2d.hpp.

Returns a read/write reverse iterator that points to one before the first element in the GenericMultiComponent2d. Iteration is done in reverse element order.

Returns
reverse end iterator value
Remarks
This iterator is compatible with RandomAccessIterator algorithms.
Example:
//copy the sum of the elements of A1 and A2
//in S (iterated in the reverse order element)
std::transform(A1.begin(),A1.end(),
A2.begin(),S.rbegin(),
std::plus<slip::Vector2d<double> >());

Returns a read-only (constant) reverse iterator that points to one before the first element in the GenericMultiComponent2d. Iteration is done in reverse element order.

Returns
const reverse end iterator value
Remarks
This iterator is compatible with RandomAccessIterator algorithms.
Example:
//copy the sum of the elements of A1 (iterated in the reverse order element)
//and A2 in S
std::transform(A1.rbegin(),A1.rend(),
A2.begin(),S.begin(),
std::plus<slip::Vector2d<double> >());
reverse_component_iterator slip::GenericMultiComponent2d< slip::Vector2d< T > >::rend ( const std::size_t  component)
inherited

Returns a read/write iterator that points one past the last element in the GenericMultiComponent2d. Iteration is done in ordinary element order.

Parameters
componentThe component number.
Returns
end reverse_component_iterator value
const_reverse_component_iterator slip::GenericMultiComponent2d< slip::Vector2d< T > >::rend ( const std::size_t  component) const
inherited

Returns a read-only (constant) iterator that points one past the last element in the GenericMultiComponent2d. Iteration is done in ordinary element order.

Parameters
componentThe component number.
Returns
const end reverse_component_iterator value
void slip::GenericMultiComponent2d< slip::Vector2d< T > >::resize ( const size_type  height,
const size_type  width,
const slip::Vector2d< T > &  val = Block() 
)
inherited

Resizes a GenericMultiComponent2d.

Parameters
heightnew first dimension
widthnew second dimension
valnew value for all the elements
row_iterator slip::GenericMultiComponent2d< slip::Vector2d< T > >::row_begin ( const size_type  row)
inherited

Returns a read/write iterator that points to the first element of the row row in the GenericMultiComponent2d. Iteration is done in ordinary element order.

Parameters
rowThe index of the row to iterate.
Returns
begin row_iterator value
Remarks
This iterator is compatible with RandomAccessIterator algorithms.
Precondition
row must be compatible with the range of the GenericMultiComponent2d.
Example:
//copy the elements of the row 0 of A1 in the row 1 of A2
std::copy(A1.row_begin(0),A1.row_end(0),A2.row_begin(1));
const_row_iterator slip::GenericMultiComponent2d< slip::Vector2d< T > >::row_begin ( const size_type  row) const
inherited

Returns a read-only iterator that points to the first element of the row row in the GenericMultiComponent2d. Iteration is done in ordinary element order.

Parameters
rowThe index of the row to iterate.
Returns
begin const_row_iterator value
Remarks
This iterator is compatible with RandomAccessIterator algorithms.
Precondition
row must be compatible with the range of the GenericMultiComponent2d.
Example:
//copy the elements of the row 0 of A1 in the row 1 of A2
std::copy(A1.row_begin(0),A1.row_end(0),A2.row_begin(1));
row_range_iterator slip::GenericMultiComponent2d< slip::Vector2d< T > >::row_begin ( const size_type  row,
const slip::Range< int > &  range 
)
inherited

Returns a read/write iterator that points to the first element of the Range range of the row row in the GenericMultiComponent2d. Iteration is done in ordinary element order according to the Range.

Parameters
rowThe index of the row to iterate.
rangeRange of the row to iterate.
Returns
begin row_range_iterator value
Remarks
This iterator is compatible with RandomAccessIterator algorithms.
Precondition
row must be compatible with the range of the GenericMultiComponent2d.
The range must be inside the whole range of the GenericMultiComponent2d.
Example:
slip::Range<int> range(0,A1.dim2()-1,2);
//copy the elements of the row 0 of A1 iterated according to the
//range in the row 1 of A2
std::copy(A1.row_begin(0,range),A1.row_end(0,range),A2.row_begin(1));
const_row_range_iterator slip::GenericMultiComponent2d< slip::Vector2d< T > >::row_begin ( const size_type  row,
const slip::Range< int > &  range 
) const
inherited

Returns a read-only iterator that points to the first element of the Range range of the row row in the GenericMultiComponent2d. Iteration is done in ordinary element order according to the Range.

Parameters
rowThe index of the row to iterate.
rangeRange of the row to iterate.
Returns
begin const_row_range_iterator value
Remarks
This iterator is compatible with RandomAccessIterator algorithms.
Precondition
row must be compatible with the range of the GenericMultiComponent2d.
The range must be inside the whole range of the GenericMultiComponent2d.
Example:
slip::Range<int> range(0,A1.dim2()-1,2);
//copy the elements of the row 0 of A1 iterated according to the
//range in the row 1 of A2
std::copy(A1.row_begin(0,range),A1.row_end(0,range),A2.row_begin(1));
component_row_iterator slip::GenericMultiComponent2d< slip::Vector2d< T > >::row_begin ( const std::size_t  component,
const std::size_t  row 
)
inherited

Returns a read/write iterator that points to the first element in the GenericMultiComponent2d. Iteration is done in ordinary element order.

Parameters
componentThe component number.
rowThe row within the component.
Returns
begin component_row_iterator value.
const_component_row_iterator slip::GenericMultiComponent2d< slip::Vector2d< T > >::row_begin ( const std::size_t  component,
const std::size_t  row 
) const
inherited

Returns a read-only (constant) iterator that points to the first element in the GenericMultiComponent2d. Iteration is done in ordinary element order.

Parameters
componentThe component number.
rowThe row within the component.
Returns
const begin component_row_iterator value
component_row_range_iterator slip::GenericMultiComponent2d< slip::Vector2d< T > >::row_begin ( const std::size_t  component,
const size_type  row,
const slip::Range< int > &  range 
)
inherited

Returns a read/write iterator that points to the first element of the Range range of the row row in the GenericMultiComponent2d. Iteration is done in ordinary element order according to the Range.

Parameters
componentThe component number.
rowThe index of the row to iterate.
rangeRange of the row to iterate.
Returns
begin component_row_range_iterator value
Remarks
This iterator is compatible with RandomAccessIterator algorithms.
Precondition
row must be compatible with the range of the GenericMultiComponent2d.
The range must be inside the whole range of the GenericMultiComponent2d.
Example:
slip::Range<int> range(0,A1.dim2()-1,2);
//copy the first component of the elements of the row 0 of A1 iterated according to the
//range in the row 1 of A2
std::copy(A1.row_begin(0,0,range),A1.row_end(0,0,range),A2.row_begin(0,1));
const_component_row_range_iterator slip::GenericMultiComponent2d< slip::Vector2d< T > >::row_begin ( const std::size_t  component,
const size_type  row,
const slip::Range< int > &  range 
) const
inherited

Returns a read-only iterator that points to the first element of the Range range of the row row in the GenericMultiComponent2d. Iteration is done in ordinary element order according to the Range.

Parameters
componentThe component number.
rowThe index of the row to iterate.
rangeRange of the row to iterate.
Returns
begin const_component_row_range_iterator value
Remarks
This iterator is compatible with RandomAccessIterator algorithms.
Precondition
row must be compatible with the range of the GenericMultiComponent2d.
The range must be inside the whole range of the GenericMultiComponent2d.
Example:
slip::Range<int> range(0,A1.dim2()-1,2);
//copy the first component of the elements of the row 0 of A1 iterated according to the
//range in the row 1 of A2
std::copy(A1.row_begin(0,0,range),A1.row_end(0,0,range),A2.row_begin(0,1));
row_iterator slip::GenericMultiComponent2d< slip::Vector2d< T > >::row_end ( const size_type  row)
inherited

Returns a read/write iterator that points one past the end element of the row row in the GenericMultiComponent2d. Iteration is done in ordinary element order.

Parameters
rowThe index of the row to iterate.
Returns
begin row_iterator value
Remarks
This iterator is compatible with RandomAccessIterator algorithms.
Precondition
row must be compatible with the range of the GenericMultiComponent2d.
Example:
//copy the elements of the row 0 of A1 in the row 1 of A2
std::copy(A1.row_begin(0),A1.row_end(0),A2.row_begin(1));
const_row_iterator slip::GenericMultiComponent2d< slip::Vector2d< T > >::row_end ( const size_type  row) const
inherited

Returns a read-only iterator that points one past the end element of the row row in the GenericMultiComponent2d. Iteration is done in ordinary element order.

Parameters
rowThe index of the row to iterate.
Returns
begin const_row_iterator value
Remarks
This iterator is compatible with RandomAccessIterator algorithms.
Precondition
row must be compatible with the range of the GenericMultiComponent2d.
Example:
//copy the elements of the row 0 of A1 in the row 1 of A2
std::copy(A1.row_begin(0),A1.row_end(0),A2.row_begin(1));
row_range_iterator slip::GenericMultiComponent2d< slip::Vector2d< T > >::row_end ( const size_type  row,
const slip::Range< int > &  range 
)
inherited

Returns a read/write iterator that points one past the end element of the Range range of the row row in the GenericMultiComponent2d. Iteration is done in ordinary element order according to the Range.

Parameters
rowThe index of the row to iterate.
rangeRange of the row to iterate.
Returns
end row_range_iterator value
Remarks
This iterator is compatible with RandomAccessIterator algorithms.
Precondition
row must be compatible with the range of the GenericMultiComponent2d.
The range must be inside the whole range of the GenericMultiComponent2d.
Example:
slip::Range<int> range(0,A1.dim2()-1,2);
//copy the elements of the row 0 of A1 iterated according to the
//range in the row 1 of A2
std::copy(A1.row_begin(0,range),A1.row_end(0,range),A2.row_begin(1));
const_row_range_iterator slip::GenericMultiComponent2d< slip::Vector2d< T > >::row_end ( const size_type  row,
const slip::Range< int > &  range 
) const
inherited

Returns a read_only iterator that points one past the last element of the Range range of the row row in the GenericMultiComponent2d. Iteration is done in ordinary element order according to the Range.

Parameters
rowRow to iterate.
rangeRange of the row to iterate
Returns
begin const_row_range_iterator value
Remarks
This iterator is compatible with RandomAccessIterator algorithms.
Precondition
row must be compatible with the range of the GenericMultiComponent2d.
The range must be inside the whole range of the GenericMultiComponent2d.
Example:
slip::Range<int> range(0,A1.dim2()-1,2);
//copy the elements of the row 0 of A1 iterated according to the
//range in the row 1 of A2
std::copy(A1.row_begin(0,range),A1.row_end(0,range),A2.row_begin(1));
component_row_iterator slip::GenericMultiComponent2d< slip::Vector2d< T > >::row_end ( const std::size_t  component,
const std::size_t  row 
)
inherited

Returns a read/write iterator that points one past the last element in the GenericMultiComponent2d. Iteration is done in ordinary element order.

Parameters
componentThe component number.
rowThe row within the component.
Returns
end component_row_iterator value
const_component_row_iterator slip::GenericMultiComponent2d< slip::Vector2d< T > >::row_end ( const std::size_t  component,
const std::size_t  row 
) const
inherited

Returns a read-only (constant) iterator that points one past the last element in the GenericMultiComponent2d. Iteration is done in ordinary element order.

Parameters
componentThe component number.
rowThe row within the component.
Returns
const end component_row_iterator value
component_row_range_iterator slip::GenericMultiComponent2d< slip::Vector2d< T > >::row_end ( const std::size_t  component,
const size_type  row,
const slip::Range< int > &  range 
)
inherited

Returns a read/write iterator that points one past the end element of the Range range of the row row in the GenericMultiComponent2d. Iteration is done in ordinary element order according to the Range.

Parameters
componentThe component number.
rowThe index of the row to iterate.
rangeRange of the row to iterate.
Returns
end component_row_range_iterator value
Remarks
This iterator is compatible with RandomAccessIterator algorithms.
Precondition
row must be compatible with the range of the GenericMultiComponent2d.
The range must be inside the whole range of the GenericMultiComponent2d.
Example:
slip::Range<int> range(0,A1.dim2()-1,2);
//copy the first component of the elements of the row 0 of A1 iterated according to the
//range in the row 1 of A2
std::copy(A1.row_begin(0,0,range),A1.row_end(0,0,range),A2.row_begin(0,1));
const_component_row_range_iterator slip::GenericMultiComponent2d< slip::Vector2d< T > >::row_end ( const std::size_t  component,
const size_type  row,
const slip::Range< int > &  range 
) const
inherited

Returns a read_only iterator that points one past the last element of the Range range of the row row in the GenericMultiComponent2d. Iteration is done in ordinary element order according to the Range.

Parameters
componentThe component number.
rowRow to iterate.
rangeRange of the row to iterate
Returns
begin const_component_row_range_iterator value
Remarks
This iterator is compatible with RandomAccessIterator algorithms.
Precondition
row must be compatible with the range of the GenericMultiComponent2d.
The range must be inside the whole range of the GenericMultiComponent2d.
Example:
slip::Range<int> range(0,A1.dim2()-1,2);
//copy the first component of the elements of the row 0 of A1 iterated according to the
//range in the row 1 of A2
std::copy(A1.row_begin(0,0,range),A1.row_end(0,0,range),A2.row_begin(0,1));
reverse_row_iterator slip::GenericMultiComponent2d< slip::Vector2d< T > >::row_rbegin ( const size_type  row)
inherited

Returns a read/write reverse iterator that points to the last element of the row row in the GenericMultiComponent2d. Iteration is done in the reverse element order.

Parameters
rowThe index of the row to iterate.
Returns
begin reverse_row_iterator value
Remarks
This iterator is compatible with RandomAccessIterator algorithms.
Precondition
row must be compatible with the range of the GenericMultiComponent2d.
const_reverse_row_iterator slip::GenericMultiComponent2d< slip::Vector2d< T > >::row_rbegin ( const size_type  row) const
inherited

Returns a read-only reverse iterator that points to the last element of the row row in the GenericMultiComponent2d. Iteration is done in the reverse element order.

Parameters
rowThe index of the row to iterate.
Returns
begin const_reverse_row_iterator value
Remarks
This iterator is compatible with RandomAccessIterator algorithms.
Precondition
row must be compatible with the range of the GenericMultiComponent2d.
reverse_row_range_iterator slip::GenericMultiComponent2d< slip::Vector2d< T > >::row_rbegin ( const size_type  row,
const slip::Range< int > &  range 
)
inherited

Returns a read-write iterator that points to the last element of the Range range of the row row in the GenericMultiComponent2d. Iteration is done in the reverse element order according to the Range.

Parameters
rowThe index of the row to iterate.
rangeRange of the row to iterate.
Returns
reverse_row_range_iterator value
Remarks
This iterator is compatible with RandomAccessIterator algorithms.
Precondition
row must be compatible with the range of the GenericMultiComponent2d.
The range must be inside the whole range of the GenericMultiComponent2d.
const_reverse_row_range_iterator slip::GenericMultiComponent2d< slip::Vector2d< T > >::row_rbegin ( const size_type  row,
const slip::Range< int > &  range 
) const
inherited

Returns a read-only iterator that points to the last element of the Range range of the row row in the GenericMultiComponent2d. Iteration is done in the reverse element order according to the Range.

Parameters
rowThe index of the row to iterate.
rangeRange of the row to iterate
Returns
begin const_reverse_row_range_iterator value
Precondition
row must be compatible with the range of the GenericMultiComponent2d.
The range must be inside the whole range of the GenericMultiComponent2d.
reverse_component_row_iterator slip::GenericMultiComponent2d< slip::Vector2d< T > >::row_rbegin ( const std::size_t  component,
const std::size_t  row 
)
inherited

Returns a read/write iterator that points to the first element in the GenericMultiComponent2d. Iteration is done in ordinary element order.

Parameters
componentThe component number.
rowThe row within the component.
Returns
reverse begin component_row_iterator value.
const_reverse_component_row_iterator slip::GenericMultiComponent2d< slip::Vector2d< T > >::row_rbegin ( const std::size_t  component,
const std::size_t  row 
) const
inherited

Returns a read-only (constant) iterator that points to the first element in the GenericMultiComponent2d. Iteration is done in ordinary element order.

Parameters
componentThe component number.
rowThe row within the component.
Returns
const reverse begin component_row_iterator value
reverse_component_row_range_iterator slip::GenericMultiComponent2d< slip::Vector2d< T > >::row_rbegin ( const std::size_t  component,
const size_type  row,
const slip::Range< int > &  range 
)
inherited

Returns a read-write iterator that points to the last element of the Range range of the row row in the GenericMultiComponent2d. Iteration is done in the reverse element order according to the Range.

Parameters
componentThe component number.
rowThe index of the row to iterate.
rangeRange of the row to iterate.
Returns
reverse_component_row_range_iterator value
Remarks
This iterator is compatible with RandomAccessIterator algorithms.
Precondition
row must be compatible with the range of the GenericMultiComponent2d.
The range must be inside the whole range of the GenericMultiComponent2d.
const_reverse_component_row_range_iterator slip::GenericMultiComponent2d< slip::Vector2d< T > >::row_rbegin ( const std::size_t  component,
const size_type  row,
const slip::Range< int > &  range 
) const
inherited

Returns a read-only iterator that points to the last element of the Range range of the row row in the GenericMultiComponent2d. Iteration is done in the reverse element order according to the Range.

Parameters
componentThe component number.
rowThe index of the row to iterate.
rangeRange of the row to iterate
Returns
begin const_reverse_component_row_range_iterator value
Precondition
row must be compatible with the range of the GenericMultiComponent2d.
The range must be inside the whole range of the GenericMultiComponent2d.
reverse_row_iterator slip::GenericMultiComponent2d< slip::Vector2d< T > >::row_rend ( const size_type  row)
inherited

Returns a read/write reverse iterator that points one past the first element of the row row in the GenericMultiComponent2d. Iteration is done in the reverse element order.

Parameters
rowThe index of the row to iterate.
Returns
end reverse_row_iterator value
Remarks
This iterator is compatible with RandomAccessIterator algorithms.
Precondition
row must be compatible with the range of the GenericMultiComponent2d.
const_reverse_row_iterator slip::GenericMultiComponent2d< slip::Vector2d< T > >::row_rend ( const size_type  row) const
inherited

Returns a read-only reverse iterator that points one past the first element of the row row in the GenericMultiComponent2d. Iteration is done in the reverse element order.

Parameters
rowThe index of the row to iterate.
Returns
end const_reverse_row_iterator value
Remarks
This iterator is compatible with RandomAccessIterator algorithms.
Precondition
row must be compatible with the range of the GenericMultiComponent2d.
reverse_row_range_iterator slip::GenericMultiComponent2d< slip::Vector2d< T > >::row_rend ( const size_type  row,
const slip::Range< int > &  range 
)
inherited

Returns a read-write iterator that points one before the first element of the Range range of the row row in the GenericMultiComponent2d. Iteration is done in the reverse element order according to the Range.

Parameters
rowThe index of the row to iterate.
rangeRange of the row to iterate.
Returns
reverse_row_range_iterator value
Remarks
This iterator is compatible with RandomAccessIterator algorithms.
Precondition
row must be compatible with the range of the GenericMultiComponent2d.
The range must be inside the whole range of the GenericMultiComponent2d.
const_reverse_row_range_iterator slip::GenericMultiComponent2d< slip::Vector2d< T > >::row_rend ( const size_type  row,
const slip::Range< int > &  range 
) const
inherited

Returns a read-only iterator that points one before the first element of the Range range of the row row in the GenericMultiComponent2d. Iteration is done in the reverse element order according to the Range.

Parameters
rowThe index of the row to iterate.
rangeRange of the row to iterate
Returns
const_reverse_row_range_iterator value
Remarks
This iterator is compatible with RandomAccessIterator algorithms.
Precondition
row must be compatible with the range of the GenericMultiComponent2d.
The range must be inside the whole range of the GenericMultiComponent2d.
reverse_component_row_iterator slip::GenericMultiComponent2d< slip::Vector2d< T > >::row_rend ( const std::size_t  component,
const std::size_t  row 
)
inherited

Returns a read/write iterator that points one past the last element in the GenericMultiComponent2d. Iteration is done in ordinary element order.

Parameters
componentThe component number.
rowThe row within the component.
Returns
end reverse component_row_iterator value
const_reverse_component_row_iterator slip::GenericMultiComponent2d< slip::Vector2d< T > >::row_rend ( const std::size_t  component,
const std::size_t  row 
) const
inherited

Returns a read-only (constant) iterator that points one past the last element in the GenericMultiComponent2d. Iteration is done in ordinary element order.

Parameters
componentThe component number.
rowThe row within the component.
Returns
const reverse end component_row_iterator value
reverse_component_row_range_iterator slip::GenericMultiComponent2d< slip::Vector2d< T > >::row_rend ( const std::size_t  component,
const size_type  row,
const slip::Range< int > &  range 
)
inherited

Returns a read-write iterator that points one before the first element of the Range range of the row row in the GenericMultiComponent2d. Iteration is done in the reverse element order according to the Range.

Parameters
componentThe component number.
rowThe index of the row to iterate.
rangeRange of the row to iterate.
Returns
reverse_component_row_range_iterator value
Remarks
This iterator is compatible with RandomAccessIterator algorithms.
Precondition
row must be compatible with the range of the GenericMultiComponent2d.
The range must be inside the whole range of the GenericMultiComponent2d.
const_reverse_component_row_range_iterator slip::GenericMultiComponent2d< slip::Vector2d< T > >::row_rend ( const std::size_t  component,
const size_type  row,
const slip::Range< int > &  range 
) const
inherited

Returns a read-only iterator that points one before the first element of the Range range of the row row in the GenericMultiComponent2d. Iteration is done in the reverse element order according to the Range.

Parameters
componentThe component number.
rowThe index of the row to iterate.
rangeRange of the row to iterate
Returns
const_reverse_component_row_range_iterator value
Remarks
This iterator is compatible with RandomAccessIterator algorithms.
Precondition
row must be compatible with the range of the GenericMultiComponent2d.
The range must be inside the whole range of the GenericMultiComponent2d.
size_type slip::GenericMultiComponent2d< slip::Vector2d< T > >::rows ( ) const
inherited

Returns the number of rows (first dimension size) in the GenericMultiComponent2d.

Returns a read/write reverse iterator2d. It points to the bottom right element of the GenericMultiComponent2d. Iteration is done within the GenericMultiComponent2d in the reverse order.

Returns
reverse_iterator2d value
Remarks
This iterator is compatible with BidirectionalIterator algorithms.
const_reverse_iterator2d slip::GenericMultiComponent2d< slip::Vector2d< T > >::rupper_left ( ) const
inherited

Returns a read only reverse iterator2d that points. It points to the bottom right element of the GenericMultiComponent2d. Iteration is done within the GenericMultiComponent2d in the reverse order.

Returns
const_reverse_iterator2d value
Remarks
This iterator is compatible with BidirectionalIterator algorithms.
reverse_iterator2d slip::GenericMultiComponent2d< slip::Vector2d< T > >::rupper_left ( const Box2d< int > &  box)
inherited

Returns a read/write reverse iterator2d. It points to the bottom right element of the Box2d associated to the GenericMultiComponent2d. Iteration is done in the reverse order.

Parameters
boxa Box2d defining the range of indices to iterate within the GenericMultiComponent2d.
Precondition
The box indices must be inside the range of the GenericMultiComponent2d ones.
Returns
reverse iterator2d value
Remarks
This iterator is compatible with BidirectionalIterator algorithms.
const_reverse_iterator2d slip::GenericMultiComponent2d< slip::Vector2d< T > >::rupper_left ( const Box2d< int > &  box) const
inherited

Returns a read only reverse iterator2d. It points to the bottom right element of the Box2d box associated to the GenericMultiComponent2d. Iteration is done in the reverse order.

Parameters
boxA Box2d defining the range of indices to iterate within the GenericMultiComponent2d.
Precondition
The box indices must be inside the range of the GenericMultiComponent2d ones.
Returns
const reverse iterator2d value
Remarks
This iterator is compatible with BidirectionalIterator algorithms.
reverse_iterator2d_range slip::GenericMultiComponent2d< slip::Vector2d< T > >::rupper_left ( const Range< int > &  row_range,
const Range< int > &  col_range 
)
inherited

Returns a read/write reverse_iterator2d_range that points to the past the bottom right element of the ranges row_range and col_range associated to the GenericMultiComponent2d. Iteration is done in the reverse order.

Parameters
row_rangeThe range of the rows.
col_rangeThe range of the columns.
Precondition
row_range and col_range must be valid.
The ranges indices must be inside the ranges of the GenericMultiComponent2d ones.
Returns
reverse_iterator2d_range value
Remarks
This iterator is compatible with BidirectionalIterator algorithms.
const_reverse_iterator2d_range slip::GenericMultiComponent2d< slip::Vector2d< T > >::rupper_left ( const Range< int > &  row_range,
const Range< int > &  col_range 
) const
inherited

Returns a read-only reverse_iterator2d_range that points to the past the bottom right element of the ranges row_range and col_range associated to the GenericMultiComponent2d. Iteration is done in the reverse order.

Parameters
row_rangeThe range of the rows.
col_rangeThe range of the columns.
Precondition
row_range and col_range must be valid.
The ranges indices must be inside the ranges of the GenericMultiComponent2d ones.
Returns
const_reverse_iterator2d_range value
Remarks
This iterator is compatible with BidirectionalIterator algorithms.
reverse_iterator2d_range slip::GenericMultiComponent2d< slip::Vector2d< T > >::rupper_left ( const Range< int > &  range)
inherited

Returns a read/write reverse_iterator2d_range that points to the bottom right element of the Range range associated to the GenericMultiComponent2d. The same range is applied for rows and cols. Iteration is done in the reverse order.

Parameters
rangeThe range of the rows and the cols.
Precondition
range and must be valid.
The range indices must be inside the ranges of the GenericMultiComponent2d ones.
Returns
reverse_iterator2d_range value
Remarks
This iterator is compatible with BidirectionalIterator algorithms.
const_reverse_iterator2d_range slip::GenericMultiComponent2d< slip::Vector2d< T > >::rupper_left ( const Range< int > &  range) const
inherited

Returns a read-only reverse_iterator2d_range that points to the to the bottom right element of the Range range associated to the GenericMultiComponent2d. The same range is applied for rows and cols. Iteration is done in the reverse order.

Parameters
rangeThe range of the rows and the cols.
Precondition
range must be valid.
The range indices must be inside the ranges of the GenericMultiComponent2d ones.
Returns
const_reverse_iterator2d_range value
Remarks
This iterator is compatible with BidirectionalIterator algorithms.
reverse_component_iterator2d slip::GenericMultiComponent2d< slip::Vector2d< T > >::rupper_left ( const std::size_t  component)
inherited

Returns a read/write reverse component iterator2d. It points to the bottom right element of the GenericMultiComponent2d. Iteration is done within the GenericMultiComponent2d in the reverse order.

Parameters
componentThe component number.
Returns
reverse_component_iterator2d value
Remarks
This iterator is compatible with BidirectionalIterator algorithms.
const_reverse_component_iterator2d slip::GenericMultiComponent2d< slip::Vector2d< T > >::rupper_left ( const std::size_t  component) const
inherited

Returns a read only reverse component iterator2d that points. It points to the bottom right element of the GenericMultiComponent2d. Iteration is done within the GenericMultiComponent2d in the reverse order.

Parameters
componentThe component number.
Returns
const_reverse_component_iterator2d value
Remarks
This iterator is compatible with BidirectionalIterator algorithms.
reverse_component_iterator2d slip::GenericMultiComponent2d< slip::Vector2d< T > >::rupper_left ( const std::size_t  component,
const Box2d< int > &  box 
)
inherited

Returns a read/write reverse component iterator2d. It points to the bottom right element of the Box2d associated to the GenericMultiComponent2d. Iteration is done in the reverse order.

Parameters
componentThe component number.
boxa Box2d defining the range of indices to iterate within the GenericMultiComponent2d.
Precondition
The box indices must be inside the range of the GenericMultiComponent2d ones.
Returns
reverse iterator2d value
Remarks
This iterator is compatible with BidirectionalIterator algorithms.
const_reverse_component_iterator2d slip::GenericMultiComponent2d< slip::Vector2d< T > >::rupper_left ( const std::size_t  component,
const Box2d< int > &  box 
) const
inherited

Returns a read only reverse component iterator2d. It points to the bottom right element of the Box2d box associated to the GenericMultiComponent2d. Iteration is done in the reverse order.

Parameters
componentThe component number.
boxA Box2d defining the range of indices to iterate within the GenericMultiComponent2d.
Precondition
The box indices must be inside the range of the GenericMultiComponent2d ones.
Returns
const reverse iterator2d value
Remarks
This iterator is compatible with BidirectionalIterator algorithms.
reverse_component_iterator2d_range slip::GenericMultiComponent2d< slip::Vector2d< T > >::rupper_left ( const std::size_t  component,
const Range< int > &  row_range,
const Range< int > &  col_range 
)
inherited

Returns a read/write reverse component iterator2d_range that points to the past the bottom right element of the ranges row_range and col_range associated to the GenericMultiComponent2d. Iteration is done in the reverse order.

Parameters
componentThe component number.
row_rangeThe range of the rows.
col_rangeThe range of the columns.
Precondition
row_range and col_range must be valid.
The ranges indices must be inside the ranges of the GenericMultiComponent2d ones.
Returns
reverse_iterator2d_range value
Remarks
This iterator is compatible with BidirectionalIterator algorithms.
const_reverse_component_iterator2d_range slip::GenericMultiComponent2d< slip::Vector2d< T > >::rupper_left ( const std::size_t  component,
const Range< int > &  row_range,
const Range< int > &  col_range 
) const
inherited

Returns a read-only reverse_component_iterator2d_range that points to the past the bottom right element of the ranges row_range and col_range associated to the GenericMultiComponent2d. Iteration is done in the reverse order.

Parameters
componentThe component number.
row_rangeThe range of the rows.
col_rangeThe range of the columns.
Precondition
row_range and col_range must be valid.
The ranges indices must be inside the ranges of the GenericMultiComponent2d ones.
Returns
const_reverse_iterator2d_range value
Remarks
This iterator is compatible with BidirectionalIterator algorithms.
template<typename T , typename GridT>
void slip::RegularVector2dField2d< T, GridT >::set_grid_step ( const slip::Point2d< GridT > &  grid_step)
inline

Write access to the grid step of the grid.

Parameters
grid_stepA slip::Point2d<GridT>.

Definition at line 1721 of file RegularVector2dField2d.hpp.

template<typename T , typename GridT>
void slip::RegularVector2dField2d< T, GridT >::set_init_point ( const slip::Point2d< GridT > &  init_point)
inline

Write access to the init point of the grid.

Parameters
init_pointA slip::Point2d<GridT>.

Definition at line 1707 of file RegularVector2dField2d.hpp.

size_type slip::GenericMultiComponent2d< slip::Vector2d< T > >::size ( ) const
inherited

Returns the number of elements in the GenericMultiComponent2d.

void slip::GenericMultiComponent2d< slip::Vector2d< T > >::swap ( self M)
inherited

Swaps data with another GenericMultiComponent2d.

Parameters
MA GenericMultiComponent2d of the same element type
template<typename T , typename GridT >
T & slip::RegularVector2dField2d< T, GridT >::u ( const size_type  i,
const size_type  j 
)
inline

Subscript access to first element of the data contained in the RegularVector2dField2d.

Parameters
iThe index of the row for which the data should be accessed.
jThe index of the columns for which the data should be accessed.
Returns
Read/write reference to data.
Precondition
i < rows()
j < columns()

This operator allows for easy, 2d array-style, data access. Note that data access with this operator is unchecked and out_of_range lookups are not defined.

Definition at line 1601 of file RegularVector2dField2d.hpp.

template<typename T , typename GridT >
const T & slip::RegularVector2dField2d< T, GridT >::u ( const size_type  i,
const size_type  j 
) const
inline

Subscript access to the first element of the data contained in the RegularVector2dField2d.

Parameters
iThe index of the row for which the data should be accessed.
jThe index of the columns for which the data should be accessed.
Returns
Read_only (constant) reference to data.
Precondition
i < rows()
j < columns()

This operator allows for easy, 2d array-style, data access. Note that data access with this operator is unchecked and out_of_range lookups are not defined.

Definition at line 1609 of file RegularVector2dField2d.hpp.

iterator2d slip::GenericMultiComponent2d< slip::Vector2d< T > >::upper_left ( )
inherited

Returns a read/write iterator2d that points to the first element of the GenericMultiComponent2d. It points to the upper left element of the GenericMultiComponent2d.

Returns
begin iterator2d value
Remarks
This iterator is compatible with BidirectionalIterator algorithms.
Example:
const_iterator2d slip::GenericMultiComponent2d< slip::Vector2d< T > >::upper_left ( ) const
inherited

Returns a read-only iterator2d that points to the first element of the GenericMultiComponent2d. It points to the upper left element of the GenericMultiComponent2d.

Returns
begin const iterator2d value
Remarks
This iterator is compatible with BidirectionalIterator algorithms.
Example:
iterator2d slip::GenericMultiComponent2d< slip::Vector2d< T > >::upper_left ( const Box2d< int > &  box)
inherited

Returns a read/write iterator2d that points to the first element of the GenericMultiComponent2d. It points to the upper left element of the Box2d associated to the GenericMultiComponent2d.

Parameters
boxA Box2d defining the range of indices to iterate within the GenericMultiComponent2d.
Remarks
This iterator is compatible with BidirectionalIterator algorithms.
Returns
end iterator2d value
Precondition
The box indices must be inside the range of the GenericMultiComponent2d ones.
Example:
slip::Box2d<int> box(1,1,3,2);
//copy the elements of A1 inside the box which upper_left element
//is located in (1,1) and the bottom right element is in (3,2)
const_iterator2d slip::GenericMultiComponent2d< slip::Vector2d< T > >::upper_left ( const Box2d< int > &  box) const
inherited

Returns a read only iterator2d that points to the first element of the GenericMultiComponent2d. It points to the upper left element of the Box2d associated to the GenericMultiComponent2d.

Parameters
boxa Box2d defining the range of indices to iterate within the GenericMultiComponent2d.
Returns
end const iterator2d value
Remarks
This iterator is compatible with BidirectionalIterator algorithms.
Precondition
The box indices must be inside the range of the GenericMultiComponent2d ones.
Example:
slip::Box2d<int> box(1,1,3,2);
//copy the elements of A1 inside the box which upper_left element
//is located in (1,1) and the bottom right element is in (3,2)
iterator2d_range slip::GenericMultiComponent2d< slip::Vector2d< T > >::upper_left ( const Range< int > &  row_range,
const Range< int > &  col_range 
)
inherited

Returns a read/write iterator2d_range that points to the upper left element of the ranges row_range and col_range associated to the GenericMultiComponent2d.

Parameters
row_rangeThe range of the rows.
col_rangeThe range of the columns.
Precondition
row_range and col_range must be valid.
The ranges indices must be inside the ranges of the GenericMultiComponent2d ones.
Returns
iterator2d_range value
Remarks
This iterator is compatible with BidirectionalIterator algorithms.
Example:
slip::Range<int> row_range(0,A1.dim2()-1,2);
slip::Range<int> col_range(0,A1.dim1()-1,2);
//copy the elements of A1 within the ranges row_range and col_range
//in A2
std::copy(A1.upper_left(row_range,col_range),
A1.bottom_right(row_range,col_range),A2.upper_left());
const_iterator2d_range slip::GenericMultiComponent2d< slip::Vector2d< T > >::upper_left ( const Range< int > &  row_range,
const Range< int > &  col_range 
) const
inherited

Returns a read-only iterator2d_range that points to the to the upper left element of the ranges row_range and col_range associated to the GenericMultiComponent2d.

Parameters
row_rangeThe range of the rows.
col_rangeThe range of the columns.
Precondition
row_range and col_range must be valid.
The ranges indices must be inside the ranges of the GenericMultiComponent2d ones.
Returns
const_iterator2d_range value
Remarks
This iterator is compatible with BidirectionalIterator algorithms.
Example:
slip::Range<int> row_range(0,A1.dim2()-1,2);
slip::Range<int> col_range(0,A1.dim1()-1,2);
//copy the elements of A1 within the ranges row_range and col_range
//in A2
std::copy(A1.upper_left(row_range,col_range),
A1.bottom_right(row_range,col_range),A2.upper_left());
iterator2d_range slip::GenericMultiComponent2d< slip::Vector2d< T > >::upper_left ( const Range< int > &  range)
inherited

Returns a read/write iterator2d_range that points to the upper left element of the Range range associated to the GenericMultiComponent2d. The same range is applied for rows and cols.

Parameters
rangeThe range of the rows and the cols.
Precondition
range and must be valid.
The range indices must be inside the ranges of the GenericMultiComponent2d ones.
Returns
iterator2d_range value
Remarks
This iterator is compatible with BidirectionalIterator algorithms.
Example:
slip::Range<int> range(0,A1.dim2()-1,2);
//copy the elements of A1 within the range range
//in A2
std::copy(A1.upper_left(range),A1.bottom_right(range),A2.upper_left());
const_iterator2d_range slip::GenericMultiComponent2d< slip::Vector2d< T > >::upper_left ( const Range< int > &  range) const
inherited

Returns a read-only iterator2d_range that points to the to the upper left element of the Range range associated to the GenericMultiComponent2d.

Parameters
rangeThe range of the rows and the cols.
Precondition
range must be valid.
The range indices must be inside the ranges of the GenericMultiComponent2d ones.
Returns
const_iterator2d_range value
Remarks
This iterator is compatible with BidirectionalIterator algorithms.
Example:
slip::Range<int> range(0,A1.dim2()-1,2);
//copy the elements of A1 within the range range
//in A2
std::copy(A1.upper_left(range),A1.bottom_right(range),A2.upper_left());
component_iterator2d slip::GenericMultiComponent2d< slip::Vector2d< T > >::upper_left ( const std::size_t  component)
inherited

Returns a read/write component_iterator2d that points to the first element of the GenericMultiComponent2d. It points to the upper left element of the GenericMultiComponent2d.

Parameters
componentThe component number.
Returns
begin iterator2d value
Remarks
This iterator is compatible with BidirectionalIterator algorithms.
//copy the first component of the elements of A1 in A2
const_component_iterator2d slip::GenericMultiComponent2d< slip::Vector2d< T > >::upper_left ( const std::size_t  component) const
inherited

Returns a read only const_component_iterator2d that points to the first element of the GenericMultiComponent2d. It points to the upper left element of the GenericMultiComponent2d.

Parameters
componentThe component number.
Returns
begin iterator2d value
Remarks
This iterator is compatible with BidirectionalIterator algorithms.
component_iterator2d slip::GenericMultiComponent2d< slip::Vector2d< T > >::upper_left ( const std::size_t  component,
const Box2d< int > &  box 
)
inherited

Returns a read/write component iterator2d that points to the first element of the GenericMultiComponent2d. It points to the upper left element of the Box2d associated to the GenericMultiComponent2d.

Parameters
componentThe component number.
boxA Box2d defining the range of indices to iterate within the GenericMultiComponent2d.
Remarks
This iterator is compatible with BidirectionalIterator algorithms.
Returns
end iterator2d value
Precondition
The box indices must be inside the range of the GenericMultiComponent2d ones.
const_component_iterator2d slip::GenericMultiComponent2d< slip::Vector2d< T > >::upper_left ( const std::size_t  component,
const Box2d< int > &  box 
) const
inherited

Returns a read only component iterator2d that points to the first element of the GenericMultiComponent2d. It points to the upper left element of the Box2d associated to the GenericMultiComponent2d.

Parameters
componentThe component number.
boxa Box2d defining the range of indices to iterate within the GenericMultiComponent2d.
Returns
end const iterator2d value
Remarks
This iterator is compatible with BidirectionalIterator algorithms.
Precondition
The box indices must be inside the range of the GenericMultiComponent2d ones.
component_iterator2d_range slip::GenericMultiComponent2d< slip::Vector2d< T > >::upper_left ( const std::size_t  component,
const Range< int > &  row_range,
const Range< int > &  col_range 
)
inherited

Returns a read/write component iterator2d_range that points to the upper left element of the ranges row_range and col_range associated to the GenericMultiComponent2d.

Parameters
componentThe component number.
row_rangeThe range of the rows.
col_rangeThe range of the columns.
Precondition
row_range and col_range must be valid.
The ranges indices must be inside the ranges of the GenericMultiComponent2d ones.
Returns
iterator2d_range value
Remarks
This iterator is compatible with BidirectionalIterator algorithms.
const_component_iterator2d_range slip::GenericMultiComponent2d< slip::Vector2d< T > >::upper_left ( const std::size_t  component,
const Range< int > &  row_range,
const Range< int > &  col_range 
) const
inherited

Returns a read-only component iterator2d_range that points to the to the upper left element of the ranges row_range and col_range associated to the GenericMultiComponent2d.

Parameters
componentThe component number.
row_rangeThe range of the rows.
col_rangeThe range of the columns.
Precondition
row_range and col_range must be valid.
The ranges indices must be inside the ranges of the GenericMultiComponent2d ones.
Returns
const_iterator2d_range value
Remarks
This iterator is compatible with BidirectionalIterator algorithms.
template<typename T , typename GridT >
T & slip::RegularVector2dField2d< T, GridT >::v ( const size_type  i,
const size_type  j 
)
inline

Subscript access to second element of the data contained in the RegularVector2dField2d.

Parameters
iThe index of the row for which the data should be accessed.
jThe index of the columns for which the data should be accessed.
Returns
Read/write reference to data.
Precondition
i < rows()
j < columns()

This operator allows for easy, 2d array-style, data access. Note that data access with this operator is unchecked and out_of_range lookups are not defined.

Definition at line 1632 of file RegularVector2dField2d.hpp.

template<typename T , typename GridT >
const T & slip::RegularVector2dField2d< T, GridT >::v ( const size_type  i,
const size_type  j 
) const
inline

Subscript access to second element of the data contained in the RegularVector2dField2d.

Parameters
iThe index of the row for which the data should be accessed.
jThe index of the columns for which the data should be accessed.
Returns
Read_only (constant) reference to data.
Precondition
i < rows()
j < columns()

This operator allows for easy, 2d array-style, data access. Note that data access with this operator is unchecked and out_of_range lookups are not defined.

Definition at line 1640 of file RegularVector2dField2d.hpp.

template<typename T, typename GridT>
template<typename Container2D >
void slip::RegularVector2dField2d< T, GridT >::vorticity ( const std::size_t  sch_order,
Container2D &  result 
) const
inline

Computes finite differences vorticity (curl) of a RegularVector2dField2d.

Author
Ludovic Chatellier <ludovic.chatellier_AT_lea.univ-poitiers.fr>
Benoit Tremblais <benoit.tremblais_AT_sic.univ-poitiers.fr>
Date
2007/11/26
Version
0.0.1
Parameters
sch_orderOrder of derivation scheme.
resultA Container2D which contain the result of the vorticity.
Precondition
sch_order must be >= 1
Derivation scheme is centered for even scheme orders and
1/2 step upwind of center for odd scheme orders.
Example:
//computes the vorticity at order 4 on the field Vxy
slip::Matrix<double> omega(Vxy.rows(),Vxy.cols());
Vxy.vorticity(4,omega);

Definition at line 1163 of file RegularVector2dField2d.hpp.

template<typename T , typename GridT >
T & slip::RegularVector2dField2d< T, GridT >::Vx1 ( const size_type  i,
const size_type  j 
)
inline

Subscript access to first element of the data contained in the RegularVector2dField2d.

Parameters
iThe index of the row for which the data should be accessed.
jThe index of the columns for which the data should be accessed.
Returns
Read/write reference to data.
Precondition
i < rows()
j < columns()

This operator allows for easy, 2d array-style, data access. Note that data access with this operator is unchecked and out_of_range lookups are not defined.

Definition at line 1585 of file RegularVector2dField2d.hpp.

template<typename T , typename GridT >
const T & slip::RegularVector2dField2d< T, GridT >::Vx1 ( const size_type  i,
const size_type  j 
) const
inline

Subscript access to the data contained in the RegularVector2dField2d.

Parameters
iThe index of the row for which the data should be accessed.
jThe index of the columns for which the data should be accessed.
Returns
Read_only (constant) reference to data.
Precondition
i < rows()
j < columns()

This operator allows for easy, 2d array-style, data access. Note that data access with this operator is unchecked and out_of_range lookups are not defined.

Definition at line 1593 of file RegularVector2dField2d.hpp.

template<typename T , typename GridT >
T & slip::RegularVector2dField2d< T, GridT >::Vx2 ( const size_type  i,
const size_type  j 
)
inline

Subscript access to second element of the data contained in the RegularVector2dField2d.

Parameters
iThe index of the row for which the data should be accessed.
jThe index of the columns for which the data should be accessed.
Returns
Read/write reference to data.
Precondition
i < rows()
j < columns()

This operator allows for easy, 2d array-style, data access. Note that data access with this operator is unchecked and out_of_range lookups are not defined.

Definition at line 1617 of file RegularVector2dField2d.hpp.

template<typename T , typename GridT >
const T & slip::RegularVector2dField2d< T, GridT >::Vx2 ( const size_type  i,
const size_type  j 
) const
inline

Subscript access to second element of the data contained in the RegularVector2dField2d.

Parameters
iThe index of the row for which the data should be accessed.
jThe index of the columns for which the data should be accessed.
Returns
Read_only (constant) reference to data.
Precondition
i < rows()
j < columns()

This operator allows for easy, 2d array-style, data access. Note that data access with this operator is unchecked and out_of_range lookups are not defined.

Definition at line 1625 of file RegularVector2dField2d.hpp.

size_type slip::GenericMultiComponent2d< slip::Vector2d< T > >::width ( ) const
inherited

Returns the number of columns (second dimension size) in the GenericMultiComponent2d.

template<typename T , typename GridT >
void slip::RegularVector2dField2d< T, GridT >::write_gnuplot ( const std::string &  file_path_name) const
inline

Writes a RegularVector2dField2d to a gnuplot file path name.

Parameters
file_path_name
Data format:
x y U(x,y) V(x,y)
Remarks
x = j and y = (dim1 - 1) - i

Definition at line 1908 of file RegularVector2dField2d.hpp.

template<typename T , typename GridT >
void slip::RegularVector2dField2d< T, GridT >::write_tecplot ( const std::string &  file_path_name,
const std::string &  title,
const std::string &  zone 
) const
inline

Writes a RegularVector2dField2d to a tecplot file path name.

Parameters
file_path_name
title
zone
Data format:

TITLE= title

VARIABLES= X Y U V

ZONE T= zone, I= rows(), J= << cols()

x y U(x,y) V(x,y)

Remarks
x = j and y = (dim1 - 1) - i

Definition at line 1916 of file RegularVector2dField2d.hpp.

template<typename T , typename GridT >
const GridT slip::RegularVector2dField2d< T, GridT >::x ( const size_type  i,
const size_type  j 
) const
inline

Subscript access to the real x1 value of the indexed (i,j) point of the RegularVector2dField2d.

Parameters
iThe index of the row for which the data should be accessed.
jThe index of the columns for which the data should be accessed.
Returns
Read_only (constant) reference to data.
Precondition
i < rows()
j < columns()

This operator allows for easy, 2d array-style, data access. Note that data access with this operator is unchecked and out_of_range lookups are not defined.

Definition at line 1683 of file RegularVector2dField2d.hpp.

template<typename T , typename GridT >
const GridT slip::RegularVector2dField2d< T, GridT >::x1 ( const size_type  i,
const size_type  j 
) const
inline

Subscript access to the real x1 value of the indexed (i,j) point of the RegularVector2dField2d.

Parameters
iThe index of the row for which the data should be accessed.
jThe index of the columns for which the data should be accessed.
Returns
Read_only (constant) reference to data.
Precondition
i < rows()
j < columns()

This operator allows for easy, 2d array-style, data access. Note that data access with this operator is unchecked and out_of_range lookups are not defined.

Definition at line 1666 of file RegularVector2dField2d.hpp.

template<typename T , typename GridT >
const GridT slip::RegularVector2dField2d< T, GridT >::x2 ( const size_type  i,
const size_type  j 
) const
inline

Subscript access to the real x2 value of the indexed (i,j) point of the RegularVector2dField2d.

Parameters
iThe index of the row for which the data should be accessed.
jThe index of the columns for which the data should be accessed.
Returns
Read_only (constant) reference to data.
Precondition
i < rows()
j < columns()

This operator allows for easy, 2d array-style, data access. Note that data access with this operator is unchecked and out_of_range lookups are not defined.

Definition at line 1674 of file RegularVector2dField2d.hpp.

template<typename T , typename GridT >
const GridT slip::RegularVector2dField2d< T, GridT >::y ( const size_type  i,
const size_type  j 
) const
inline

Subscript access to the real x2 value of the indexed (i,j) point of the RegularVector2dField2d.

Parameters
iThe index of the row for which the data should be accessed.
jThe index of the columns for which the data should be accessed.
Returns
Read_only (constant) reference to data.
Precondition
i < rows()
j < columns()

This operator allows for easy, 2d array-style, data access. Note that data access with this operator is unchecked and out_of_range lookups are not defined.

Definition at line 1691 of file RegularVector2dField2d.hpp.

Friends And Related Function Documentation

template<typename T, typename GridT>
friend class boost::serialization::access
friend

Definition at line 1288 of file RegularVector2dField2d.hpp.

template<typename T, typename GridT>
std::ostream& operator<< ( std::ostream &  out,
const self a 
)
friend

Write the RegularVector2dField2d to the ouput stream.

Parameters
outoutput stream
aRegularVector2dField2d to write to the output stream

Definition at line 1877 of file RegularVector2dField2d.hpp.

Member Data Documentation

const std::size_t slip::GenericMultiComponent2d< slip::Vector2d< T > >::COMPONENTS
staticinherited

Definition at line 284 of file GenericMultiComponent2d.hpp.

template<typename T, typename GridT>
const std::size_t slip::RegularVector2dField2d< T, GridT >::DIM = 2
static

Definition at line 214 of file RegularVector2dField2d.hpp.


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