Schnek
schnek::Range< T, rank, CheckingPolicy > Class Template Reference

#include <range.hpp>

Classes

class  iterator
 Forward iterator over the rectangular domain. More...
 

Public Types

typedef Array< T, rank, CheckingPolicy > LimitType
 
typedef T value_type
 

Public Member Functions

 Range ()
 Default constructor.
 
 Range (const Range &domain)
 
template<template< size_t > class ArrayCheckingPolicy>
 Range (const Array< T, rank, ArrayCheckingPolicy > &lo_, const Array< T, rank, ArrayCheckingPolicy > &hi_)
 Construct with rectangle minimum and maximum.
 
template<template< size_t > class ArrayCheckingPolicy>
 Range (const Range< T, rank, ArrayCheckingPolicy > &domain)
 Copy constructor.
 
Rangeoperator= (const Range &domain)
 Assignment operator.
 
SCHNEK_INLINE const LimitTypegetLo () const
 Return rectangle minimum.
 
SCHNEK_INLINE const LimitTypegetHi () const
 Return rectangle maximum.
 
SCHNEK_INLINE LimitTypegetLo ()
 Return rectangle minimum.
 
SCHNEK_INLINE LimitTypegetHi ()
 Return rectangle maximum.
 
SCHNEK_INLINE T & getLo (size_t i)
 Return the i-th coordinate of the rectangle minimum.
 
SCHNEK_INLINE T & getHi (size_t i)
 Return the i-th coordinate of the rectangle maximum.
 
SCHNEK_INLINE const T getLo (size_t i) const
 Return the i-th coordinate of the rectangle minimum.
 
SCHNEK_INLINE const T getHi (size_t i) const
 Return the i-th coordinate of the rectangle maximum.
 
bool inside (const LimitType &p)
 Returns true if the argument lies within the range.
 
template<int destLength>
Range< T, destLength, CheckingPolicy > project () const
 projects the Array onto an Array of shorter length
 
Range< T, rank-1, CheckingPolicy > projectDim (int dim) const
 
void grow (const T &s)
 
void grow (const T &d0, const T &d1)
 
void grow (const T &d0, const T &d1, const T &d2)
 
void grow (const T &d0, const T &d1, const T &d2, const T &d3)
 
void grow (const T &d0, const T &d1, const T &d2, const T &d3, const T &d4)
 
void grow (const T &d0, const T &d1, const T &d2, const T &d3, const T &d4, const T &d5)
 
void grow (const T &d0, const T &d1, const T &d2, const T &d3, const T &d4, const T &d5, const T &d6)
 
void grow (const T &d0, const T &d1, const T &d2, const T &d3, const T &d4, const T &d5, const T &d6, const T &d7)
 
void grow (const T &d0, const T &d1, const T &d2, const T &d3, const T &d4, const T &d5, const T &d6, const T &d7, const T &d8)
 
void grow (const T &d0, const T &d1, const T &d2, const T &d3, const T &d4, const T &d5, const T &d6, const T &d7, const T &d8, const T &d9)
 
iterator begin ()
 Creates an iterator pointing to the beginning of the rectangle.
 
iterator end ()
 Creates an iterator pointing to a position after the end of the rectangle.
 

Detailed Description

template<class T, size_t rank, template< size_t > class CheckingPolicy = ArrayNoArgCheck>
class schnek::Range< T, rank, CheckingPolicy >

Range is a rectangular domain defining two corners


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