Chombo + EB  3.0
Classes | Macros | Functions
IndexTM.H File Reference
#include <cstddef>
#include <cstdlib>
#include <cstring>
#include <iostream>
#include "REAL.H"
#include "Misc.H"
#include "GenericArithmetic.H"
#include "BaseNamespaceHeader.H"
#include "BaseNamespaceFooter.H"
#include "IndexTMI.H"
Include dependency graph for IndexTM.H:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  IndexTM< T, N >
 
class  IndexTM< T, N >
 
struct  IndexTraits< T >
 
struct  IndexTraits< int >
 
struct  IndexTraits< Real >
 

Macros

#define _INDEXTM_H_
 

Functions

template<typename T , int N>
IndexTM< T, N > min (const IndexTM< T, N > &a_p1, const IndexTM< T, N > &a_p2)
 
template<typename T , int N>
IndexTM< T, N > max (const IndexTM< T, N > &a_p1, const IndexTM< T, N > &a_p2)
 
template<typename T , int N>
IndexTM< T, N > scale (const IndexTM< T, N > &a_p, T a_s)
 
template<typename T , int N>
IndexTM< T, N > reflect (const IndexTM< T, N > &a_a, T a_refIx, int a_idir)
 
template<typename T , int N>
IndexTM< T, N > diagShift (const IndexTM< T, N > &a_p, T a_s)
 
template<typename T , int N>
IndexTM< T, N > coarsen (const IndexTM< T, N > &a_p, T a_s)
 
template<typename T , int N>
IndexTM< T, N > coarsen (const IndexTM< T, N > &a_p1, const IndexTM< T, N > &a_p2)
 
template<typename T , int N>
std::ostream & operator<< (std::ostream &a_os, const IndexTM< T, N > &a_iv)
 
template<typename T , int N>
std::istream & operator>> (std::istream &a_os, IndexTM< T, N > &a_iv)
 
template<typename T , int N>
IndexTM< T, N > BASISV_TM (int a_dir)
 

Macro Definition Documentation

◆ _INDEXTM_H_

#define _INDEXTM_H_

Function Documentation

◆ min()

template<typename T , int N>
IndexTM<T,N> min ( const IndexTM< T, N > &  a_p1,
const IndexTM< T, N > &  a_p2 
)
inline

◆ max()

template<typename T , int N>
IndexTM<T,N> max ( const IndexTM< T, N > &  a_p1,
const IndexTM< T, N > &  a_p2 
)
inline

◆ scale()

template<typename T , int N>
IndexTM<T,N> scale ( const IndexTM< T, N > &  a_p,
a_s 
)
inline

◆ reflect()

template<typename T , int N>
IndexTM<T,N> reflect ( const IndexTM< T, N > &  a_a,
a_refIx,
int  a_idir 
)
inline

◆ diagShift()

template<typename T , int N>
IndexTM<T,N> diagShift ( const IndexTM< T, N > &  a_p,
a_s 
)
inline

Referenced by grow().

◆ coarsen() [1/2]

template<typename T , int N>
IndexTM<T,N> coarsen ( const IndexTM< T, N > &  a_p,
a_s 
)
inline

◆ coarsen() [2/2]

template<typename T , int N>
IndexTM<T,N> coarsen ( const IndexTM< T, N > &  a_p1,
const IndexTM< T, N > &  a_p2 
)
inline

◆ operator<<()

template<typename T , int N>
std::ostream& operator<< ( std::ostream &  a_os,
const IndexTM< T, N > &  a_iv 
)

Print the IndexTM to given output stream in ASCII.

Referenced by IntVect::copy(), and ProblemDomain::shift().

◆ operator>>()

template<typename T , int N>
std::istream& operator>> ( std::istream &  a_os,
IndexTM< T, N > &  a_iv 
)

Read next IndexTM from given input stream.

Referenced by IntVect::copy(), and ProblemDomain::shift().

◆ BASISV_TM()

template<typename T , int N>
IndexTM<T,N> BASISV_TM ( int  a_dir)
inline

Returns a basis vector in the given coordinate direction.
In 3-D: BASISV(0) == (1,0,0); BASISV(1) == (0,1,0); BASISV(2) == (0,0,1).
In 2-D: BASISV(0) == (1,0); BASISV(1) == (0,1).
Note that the coordinate directions are based at zero.

References CH_assert, and IndexTM< T, N >::dataPtr().