OpenFPM_pdata  4.1.0
Project that contain the implementation of distributed structures
 
Loading...
Searching...
No Matches
aggregate< list > Struct Template Reference

aggregate of properties, from a list of object if create a struct that follow the OPENFPM native structure More...

Detailed Description

template<typename ... list>
struct aggregate< list >

aggregate of properties, from a list of object if create a struct that follow the OPENFPM native structure

see the Wiki for more information about the OPENFPM native structure format

Template Parameters
listof properties

Definition at line 214 of file aggregate.hpp.

#include <aggregate.hpp>

Public Types

typedef boost::fusion::vector< list... > type
 internal type containing the data
 
typedef boost::fusion::vector< list... > type_real
 real internal type containing the data
 
typedef int yes_is_aggregate
 

Public Member Functions

__device__ __host__ aggregate (const aggregate< list ... > &aggr)
 
template<unsigned int i>
__device__ __host__ boost::mpl::at< type, boost::mpl::int_< i > >::typeget ()
 get the properties i
 
template<unsigned int i>
__device__ __host__ const boost::mpl::at< type, boost::mpl::int_< i > >::typeget () const
 get the properties i
 
aggregate< list... > & operator= (const aggregate< list... > &ag)
 

Static Public Member Functions

static bool noPointers ()
 it return false if this aggregate has no pointers
 

Data Fields

type data
 the data
 

Static Public Attributes

static const unsigned int max_prop = boost::mpl::size<type>::type::value
 
static const unsigned int max_prop_real = boost::mpl::size<type>::type::value
 

Member Typedef Documentation

◆ type

template<typename ... list>
typedef boost::fusion::vector<list...> aggregate< list >::type

internal type containing the data

Definition at line 217 of file aggregate.hpp.

◆ type_real

template<typename ... list>
typedef boost::fusion::vector<list...> aggregate< list >::type_real

real internal type containing the data

Definition at line 220 of file aggregate.hpp.

◆ yes_is_aggregate

template<typename ... list>
typedef int aggregate< list >::yes_is_aggregate

Definition at line 222 of file aggregate.hpp.

Constructor & Destructor Documentation

◆ aggregate() [1/2]

template<typename ... list>
__device__ __host__ aggregate< list >::aggregate ( )
inline

Definition at line 227 of file aggregate.hpp.

◆ aggregate() [2/2]

template<typename ... list>
__device__ __host__ aggregate< list >::aggregate ( const aggregate< list ... > &  aggr)
inline

Definition at line 230 of file aggregate.hpp.

Member Function Documentation

◆ get() [1/2]

template<typename ... list>
template<unsigned int i>
__device__ __host__ boost::mpl::at< type, boost::mpl::int_< i > >::type & aggregate< list >::get ( )
inline

get the properties i

Returns
the property i

Definition at line 240 of file aggregate.hpp.

◆ get() [2/2]

template<typename ... list>
template<unsigned int i>
__device__ __host__ const boost::mpl::at< type, boost::mpl::int_< i > >::type & aggregate< list >::get ( ) const
inline

get the properties i

Returns
the property i

Definition at line 259 of file aggregate.hpp.

◆ noPointers()

template<typename ... list>
static bool aggregate< list >::noPointers ( )
inlinestatic

it return false if this aggregate has no pointers

Definition at line 249 of file aggregate.hpp.

◆ operator=()

template<typename ... list>
aggregate< list... > & aggregate< list >::operator= ( const aggregate< list... > &  ag)
inline

Definition at line 264 of file aggregate.hpp.

Field Documentation

◆ data

template<typename ... list>
type aggregate< list >::data

the data

Definition at line 225 of file aggregate.hpp.

◆ max_prop

template<typename ... list>
const unsigned int aggregate< list >::max_prop = boost::mpl::size<type>::type::value
static

Definition at line 273 of file aggregate.hpp.

◆ max_prop_real

template<typename ... list>
const unsigned int aggregate< list >::max_prop_real = boost::mpl::size<type>::type::value
static

Definition at line 274 of file aggregate.hpp.


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