# PhasicFlow: Range< T > Struct Template Reference
PhasicFlow is an open-source parallel DEM (discrete element method) package for simulating granular flow. It is developed in C++ and can be exectued on both GPU (like CUDA) and CPU.

Range< T > Struct Template Reference

Range for elements in an vector [start,end) More...

Inheritance diagram for Range< T >:
[legend]
Collaboration diagram for Range< T >:
[legend]

## Public Types

using | Pair = Kokkos::pair< T, T >

## Public Member Functions

| TypeInfoTemplateNV11 ("Range", T) INLINE_FUNCTION_HD Range()=default
| Default. More...
INLINE_FUNCTION_HD | Range (const T &e)
| From end, set start to 0. More...
INLINE_FUNCTION_HD | Range (const T &s, const T &e)
| From componeents. More...
INLINE_FUNCTION_HD | Range (const Range::Pair &src)
| From pair. More...
INLINE_FUNCTION_HD | Range (const Range &)=default
| Copy. More...
INLINE_FUNCTION_HD | Range (Range &&)=default
| Move. More...
INLINE_FUNCTION_HD Range & | operator= (const Range &)=default
| Copy assignment. More...
INLINE_FUNCTION_HD Range & | operator= (Range &&)=default
| Move assignment. More...
INLINE_FUNCTION_HD | ~Range ()=default
| Destructor. More...
INLINE_FUNCTION_HD T & | start ()
| Start. More...
INLINE_FUNCTION_HD T & | end ()
| End. More...
const INLINE_FUNCTION_HD T & | start () const
const INLINE_FUNCTION_HD T & | end () const
INLINE_FUNCTION_HD T | numElements ()
INLINE_FUNCTION_HD auto | getPair () const

## Detailed Description

### template<typename T>
struct pFlow::Range< T >

Range for elements in an vector [start,end)

Definition at line 38 of file Range.hpp.

## Member Typedef Documentation

## Pair

using Pair = Kokkos::pair<T, T>

Definition at line 40 of file Range.hpp.

## Constructor & Destructor Documentation

## Range() [1/5]

INLINE_FUNCTION_HD Range | ( | const T & | e | ) |

inlineexplicit

From end, set start to 0.

Definition at line 51 of file Range.hpp.

## Range() [2/5]

INLINE_FUNCTION_HD Range | ( | const T & | s,
|  | const T & | e
| ) |  |

inline

From componeents.

Definition at line 58 of file Range.hpp.

## Range() [3/5]

INLINE_FUNCTION_HD Range | ( | const Range< T >::Pair & | src | ) |

inline

From pair.

Definition at line 65 of file Range.hpp.

## Range() [4/5]

INLINE_FUNCTION_HD Range | ( | const Range< T > & |  | ) |

default

Copy.

## Range() [5/5]

INLINE_FUNCTION_HD Range | ( | Range< T > && |  | ) |

default

Move.

## ~Range()

INLINE_FUNCTION_HD ~Range | ( |  | ) |

default

Destructor.

## Member Function Documentation

## TypeInfoTemplateNV11()

TypeInfoTemplateNV11 | ( | "Range< T >" | ,
|  | T |
| ) |  |

default

Default.

## operator=() [1/2]

INLINE_FUNCTION_HD Range& operator= | ( | const Range< T > & |  | ) |

default

Copy assignment.

## operator=() [2/2]

INLINE_FUNCTION_HD Range& operator= | ( | Range< T > && |  | ) |

default

Move assignment.

## start() [1/2]

INLINE_FUNCTION_HD T& start | ( |  | ) |

inline

Start.

Definition at line 94 of file Range.hpp.

Referenced by VectorSingle< word, HostSpace >::fill(), pFlow::AB2Kernels::intAllActive(), Range< uint32 >::numElements(), and pFlow::operator<<().

Here is the caller graph for this function:

## end() [1/2]

INLINE_FUNCTION_HD T& end | ( |  | ) |

inline

End.

Definition at line 101 of file Range.hpp.

Referenced by cellMapper::checkAllocateNext(), mapperNBS::checkAllocateNext(), VectorSingle< uint32, HostSpace >::fill(), VectorSingle< word, HostSpace >::fill(), pFlow::AB2Kernels::intAllActive(), Range< uint32 >::numElements(), pFlow::operator<<(), and internalPoints::size().

Here is the caller graph for this function:

## start() [2/2]

const INLINE_FUNCTION_HD T& start | ( |  | ) | const

inline

Definition at line 107 of file Range.hpp.

## end() [2/2]

const INLINE_FUNCTION_HD T& end | ( |  | ) | const

inline

Definition at line 113 of file Range.hpp.

## numElements()

INLINE_FUNCTION_HD T numElements | ( |  | ) |

inline

Definition at line 119 of file Range.hpp.

Referenced by pointFlag< DefaultHostExecutionSpace >::resetFlags(), multiTriSurface::subSurfaceNumPoints(), and multiTriSurface::subSurfaceSize().

Here is the caller graph for this function:

## getPair()

INLINE_FUNCTION_HD auto getPair | ( |  | ) | const

inline

Definition at line 125 of file Range.hpp.

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

- src/phasicFlow/Kokkos/Range.hpp