OpenFPM_pdata  4.1.0
Project that contain the implementation of distributed structures
 
Loading...
Searching...
No Matches
vector_dist_expression_impl< vector_type > Class Template Reference

Main class that encapsulate a vector properties operand to be used for expressions construction Temporal Expressions. More...

Detailed Description

template<typename vector_type>
class vector_dist_expression_impl< vector_type >

Main class that encapsulate a vector properties operand to be used for expressions construction Temporal Expressions.

Template Parameters
prpproperty involved
vectorinvolved

Definition at line 1213 of file vector_dist_operators.hpp.

#include <vector_dist_operators.hpp>

Public Types

typedef T * iterator
 
typedef const T * const_iterator
 
typedef has_vector_kernel< vector >::type is_ker
 
typedef vector vtype
 The type of the internal vector.
 
typedef T value_type
 The type of the internal value.
 
typedef boost::mpl::bool_< false > is_sort
 result for is sort
 
typedef void NN_type
 NN_type.
 

Public Member Functions

void setVarId (int var_id)
 
iterator begin ()
 
const_iterator begin () const
 
iterator end ()
 
const_iterator end () const
 
size_t size () const
 
void resize (size_t n)
 
template<unsigned int prp2, typename vector2 >
 vector_dist_expression_impl (const vector_dist_expression< prp2, vector2 > &v_exp)
 
template<typename exp1 , typename exp2 , unsigned int op>
 vector_dist_expression_impl (const vector_dist_expression_op< exp1, exp2, op > &v_exp)
 
void * getNN () const
 get the NN object
 
__device__ __host__ const vectorgetVector () const
 Return the vector on which is acting.
 
__device__ __host__ vectorgetVector ()
 Return the vector on which is acting.
 
void init () const
 This function must be called before value.
 
__host__ __device__ auto value (const vect_dist_key_dx &k) const -> decltype(v.template get< 0 >(k.getKey()))
 Evaluate the expression.
 
template<unsigned int prp2, typename vector2 >
vectoroperator= (const vector_dist_expression< prp2, vector2 > &v_exp)
 Fill the vector property with the evaluated expression.
 
template<typename exp1 , typename exp2 , unsigned int op>
vectoroperator= (const vector_dist_expression_op< exp1, exp2, op > &v_exp)
 Fill the vector property with the evaluated expression.
 
vectoroperator= (double d)
 Fill the vector property with the double.
 
template<typename Sys_eqs , typename pmap_type , typename unordered_map_type , typename coeff_type >
void value_nz (pmap_type &p_map, const vect_dist_key_dx &key, unordered_map_type &cols, coeff_type &coeff, unsigned int comp) const
 
vector_dist_expression_op< vector_dist_expression< 0, vector >, boost::mpl::int_< 1 >, VECT_COMP > operator[] (int comp)
 

Data Fields

int var_id = 0
 

Static Public Attributes

static const unsigned int prop = 0
 Property id of the point.
 

Private Types

typedef vector_type vector
 Internal vector.
 
typedef boost::mpl::at< typenamevector_type::value_type::type, boost::mpl::int_< 0 > >::type T
 

Private Attributes

vector v
 The temporal vector.
 

Member Typedef Documentation

◆ const_iterator

template<typename vector_type >
typedef const T* vector_dist_expression_impl< vector_type >::const_iterator

Definition at line 1224 of file vector_dist_operators.hpp.

◆ is_ker

template<typename vector_type >
typedef has_vector_kernel<vector>::type vector_dist_expression_impl< vector_type >::is_ker

Definition at line 1226 of file vector_dist_operators.hpp.

◆ is_sort

template<typename vector_type >
typedef boost::mpl::bool_<false> vector_dist_expression_impl< vector_type >::is_sort

result for is sort

Definition at line 1235 of file vector_dist_operators.hpp.

◆ iterator

template<typename vector_type >
typedef T* vector_dist_expression_impl< vector_type >::iterator

Definition at line 1223 of file vector_dist_operators.hpp.

◆ NN_type

template<typename vector_type >
typedef void vector_dist_expression_impl< vector_type >::NN_type

NN_type.

Definition at line 1238 of file vector_dist_operators.hpp.

◆ T

template<typename vector_type >
typedef boost::mpl::at<typenamevector_type::value_type::type,boost::mpl::int_<0>>::type vector_dist_expression_impl< vector_type >::T
private

Definition at line 1217 of file vector_dist_operators.hpp.

◆ value_type

template<typename vector_type >
typedef T vector_dist_expression_impl< vector_type >::value_type

The type of the internal value.

Definition at line 1232 of file vector_dist_operators.hpp.

◆ vector

template<typename vector_type >
typedef vector_type vector_dist_expression_impl< vector_type >::vector
private

Internal vector.

Definition at line 1216 of file vector_dist_operators.hpp.

◆ vtype

template<typename vector_type >
typedef vector vector_dist_expression_impl< vector_type >::vtype

The type of the internal vector.

Definition at line 1229 of file vector_dist_operators.hpp.

Constructor & Destructor Documentation

◆ vector_dist_expression_impl() [1/3]

◆ vector_dist_expression_impl() [2/3]

template<typename vector_type >
template<unsigned int prp2, typename vector2 >
vector_dist_expression_impl< vector_type >::vector_dist_expression_impl ( const vector_dist_expression< prp2, vector2 > &  v_exp)
inline

Definition at line 1296 of file vector_dist_operators.hpp.

◆ vector_dist_expression_impl() [3/3]

template<typename vector_type >
template<typename exp1 , typename exp2 , unsigned int op>
vector_dist_expression_impl< vector_type >::vector_dist_expression_impl ( const vector_dist_expression_op< exp1, exp2, op > &  v_exp)
inline

Definition at line 1302 of file vector_dist_operators.hpp.

Member Function Documentation

◆ begin() [1/2]

template<typename vector_type >
iterator vector_dist_expression_impl< vector_type >::begin ( )
inline

Definition at line 1251 of file vector_dist_operators.hpp.

◆ begin() [2/2]

template<typename vector_type >
const_iterator vector_dist_expression_impl< vector_type >::begin ( ) const
inline

Definition at line 1254 of file vector_dist_operators.hpp.

◆ end() [1/2]

template<typename vector_type >
iterator vector_dist_expression_impl< vector_type >::end ( )
inline

Definition at line 1257 of file vector_dist_operators.hpp.

◆ end() [2/2]

template<typename vector_type >
const_iterator vector_dist_expression_impl< vector_type >::end ( ) const
inline

Definition at line 1260 of file vector_dist_operators.hpp.

◆ getNN()

template<typename vector_type >
void * vector_dist_expression_impl< vector_type >::getNN ( ) const
inline

get the NN object

Returns
the NN object

Definition at line 1312 of file vector_dist_operators.hpp.

◆ getVector() [1/2]

template<typename vector_type >
__device__ __host__ vector & vector_dist_expression_impl< vector_type >::getVector ( )
inline

Return the vector on which is acting.

It return the vector used in getVExpr, to get this object

Returns
the vector

Definition at line 1336 of file vector_dist_operators.hpp.

◆ getVector() [2/2]

template<typename vector_type >
__device__ __host__ const vector & vector_dist_expression_impl< vector_type >::getVector ( ) const
inline

Return the vector on which is acting.

It return the vector used in getVExpr, to get this object

Returns
the vector

Definition at line 1324 of file vector_dist_operators.hpp.

◆ init()

template<typename vector_type >
void vector_dist_expression_impl< vector_type >::init ( ) const
inline

This function must be called before value.

it initialize the expression if needed

Definition at line 1346 of file vector_dist_operators.hpp.

◆ operator=() [1/3]

template<typename vector_type >
template<unsigned int prp2, typename vector2 >
vector & vector_dist_expression_impl< vector_type >::operator= ( const vector_dist_expression< prp2, vector2 > &  v_exp)
inline

Fill the vector property with the evaluated expression.

Parameters
v_expexpression to evaluate
Returns
itself

Definition at line 1369 of file vector_dist_operators.hpp.

◆ operator=() [2/3]

template<typename vector_type >
template<typename exp1 , typename exp2 , unsigned int op>
vector & vector_dist_expression_impl< vector_type >::operator= ( const vector_dist_expression_op< exp1, exp2, op > &  v_exp)
inline

Fill the vector property with the evaluated expression.

Parameters
v_expexpression to evaluate
Returns
itself

Definition at line 1408 of file vector_dist_operators.hpp.

◆ operator=() [3/3]

template<typename vector_type >
vector & vector_dist_expression_impl< vector_type >::operator= ( double  d)
inline

Fill the vector property with the double.

Parameters
dvalue to fill
Returns
the internal vector

Definition at line 1445 of file vector_dist_operators.hpp.

◆ operator[]()

template<typename vector_type >
vector_dist_expression_op< vector_dist_expression< 0, vector >, boost::mpl::int_< 1 >, VECT_COMP > vector_dist_expression_impl< vector_type >::operator[] ( int  comp)
inline

Definition at line 1457 of file vector_dist_operators.hpp.

◆ resize()

template<typename vector_type >
void vector_dist_expression_impl< vector_type >::resize ( size_t  n)
inline

Definition at line 1266 of file vector_dist_operators.hpp.

◆ setVarId()

template<typename vector_type >
void vector_dist_expression_impl< vector_type >::setVarId ( int  var_id)
inline

Definition at line 1245 of file vector_dist_operators.hpp.

◆ size()

template<typename vector_type >
size_t vector_dist_expression_impl< vector_type >::size ( ) const
inline

Definition at line 1263 of file vector_dist_operators.hpp.

◆ value()

template<typename vector_type >
__host__ __device__ auto vector_dist_expression_impl< vector_type >::value ( const vect_dist_key_dx k) const -> decltype(v.template get<0>(k.getKey()))
inline

Evaluate the expression.

Parameters
kwhere to evaluate the expression
Returns
the result of the expression

Definition at line 1356 of file vector_dist_operators.hpp.

◆ value_nz()

template<typename vector_type >
template<typename Sys_eqs , typename pmap_type , typename unordered_map_type , typename coeff_type >
void vector_dist_expression_impl< vector_type >::value_nz ( pmap_type &  p_map,
const vect_dist_key_dx key,
unordered_map_type &  cols,
coeff_type &  coeff,
unsigned int  comp 
) const
inline

Definition at line 1452 of file vector_dist_operators.hpp.

Field Documentation

◆ prop

template<typename vector_type >
const unsigned int vector_dist_expression_impl< vector_type >::prop = 0
static

Property id of the point.

Definition at line 1241 of file vector_dist_operators.hpp.

◆ v

template<typename vector_type >
vector vector_dist_expression_impl< vector_type >::v
mutableprivate

The temporal vector.

Definition at line 1219 of file vector_dist_operators.hpp.

◆ var_id

template<typename vector_type >
int vector_dist_expression_impl< vector_type >::var_id = 0

Definition at line 1243 of file vector_dist_operators.hpp.


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