XGCa
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Public Member Functions | Public Attributes | List of all members
VertexList Class Reference

#include <vertex_list.hpp>

Collaboration diagram for VertexList:
Collaboration graph
[legend]

Classes

struct  IntegerRange
 

Public Member Functions

 VertexList ()
 
 VertexList (int start, int end)
 
template<typename F >
 VertexList (int n, F condition)
 
 VertexList (const View< int *, CLayout, HostType > &unordered_full_list, bool one_indexed)
 
KOKKOS_INLINE_FUNCTION bool is_in_list (int i) const
 
KOKKOS_INLINE_FUNCTION int size () const
 
template<typename DeviceExSpace , typename F >
void for_all (const std::string label, F lambda_func) const
 
template<class Device >
void pack_contiguous (const View< double *, CLayout, Device > &input, const View< double *, CLayout, Device > &contiguous) const
 
template<class Device >
void unpack_contiguous (const View< double *, CLayout, Device > &contiguous, const View< double *, CLayout, Device > &output) const
 
VertexList operator& (const VertexList &list2) const
 
VertexListoperator|= (const VertexList &rhs)
 
void batch (int first_val, int nvals, const View< int *, CLayout, HostType > &view) const
 
int min () const
 
bool is_contiguous () const
 
void print (const std::string &msg) const
 
bool is_subset (const VertexList &list2) const
 
bool intersects (const VertexList &list2) const
 
bool intersects (int start, int end) const
 

Public Attributes

View< IntegerRange *, CLayout,
HostType
ranges
 

Constructor & Destructor Documentation

VertexList::VertexList ( )
inline

Here is the caller graph for this function:

VertexList::VertexList ( int  start,
int  end 
)
template<typename F >
VertexList::VertexList ( int  n,
condition 
)
inline
VertexList::VertexList ( const View< int *, CLayout, HostType > &  unordered_full_list,
bool  one_indexed 
)

Member Function Documentation

void VertexList::batch ( int  first_val,
int  nvals,
const View< int *, CLayout, HostType > &  view 
) const
template<typename DeviceExSpace , typename F >
void VertexList::for_all ( const std::string  label,
lambda_func 
) const
inline

Loops over vertices with a parallel_for, with no particle movement

Parameters
[in]labelis the label of the parallel_for used for debugging
[in]lambda_funcis the lambda function. Must be copy [=] not by reference

Here is the call graph for this function:

bool VertexList::intersects ( const VertexList list2) const

Here is the call graph for this function:

bool VertexList::intersects ( int  start,
int  end 
) const
bool VertexList::is_contiguous ( ) const

Here is the caller graph for this function:

KOKKOS_INLINE_FUNCTION bool VertexList::is_in_list ( int  i) const
inline

Checks if a vertex is inside the list

Parameters
[in]iis the vertex index
Returns
Returns whether this vertex is in the list
bool VertexList::is_subset ( const VertexList list2) const

Here is the call graph for this function:

int VertexList::min ( ) const

Here is the caller graph for this function:

VertexList VertexList::operator& ( const VertexList list2) const

Here is the call graph for this function:

VertexList & VertexList::operator|= ( const VertexList rhs)
template<class Device >
template void VertexList::pack_contiguous ( const View< double *, CLayout, Device > &  input,
const View< double *, CLayout, Device > &  contiguous 
) const

< Use execution space where views are allocated

Here is the call graph for this function:

void VertexList::print ( const std::string &  msg) const

Here is the caller graph for this function:

KOKKOS_INLINE_FUNCTION int VertexList::size ( ) const
inline

Here is the caller graph for this function:

template<class Device >
template void VertexList::unpack_contiguous ( const View< double *, CLayout, Device > &  contiguous,
const View< double *, CLayout, Device > &  output 
) const

< Use execution space where views are allocated

Here is the call graph for this function:

Member Data Documentation

View<IntegerRange*,CLayout,HostType> VertexList::ranges

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