Cloudy
Spectral Synthesis Code for Astrophysics
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
avx_ptr< T, lgBC > Class Template Reference

#include <vectorize.h>

Public Types

typedef T & reference
 
typedef const T & const_reference
 

Public Member Functions

 avx_ptr (long size)
 
 avx_ptr (long begin, long end)
 
 ~avx_ptr ()
 
reference operator[] (long i)
 
const_reference operator[] (long i) const
 
T * data ()
 
const T * data () const
 
T * ptr0 ()
 
const T * ptr0 () const
 

Private Member Functions

 avx_ptr ()
 
void p_alloc (long begin, long end)
 

Private Attributes

long p_begin
 
long p_end
 
T * p_ptr_alloc
 
T * p_ptr
 

Member Typedef Documentation

template<class T, bool lgBC = lgBOUNDSCHECKVAL>
typedef const T& avx_ptr< T, lgBC >::const_reference
template<class T, bool lgBC = lgBOUNDSCHECKVAL>
typedef T& avx_ptr< T, lgBC >::reference

Constructor & Destructor Documentation

template<class T, bool lgBC = lgBOUNDSCHECKVAL>
avx_ptr< T, lgBC >::avx_ptr ( )
inlineprivate
template<class T, bool lgBC = lgBOUNDSCHECKVAL>
avx_ptr< T, lgBC >::avx_ptr ( long  size)
inlineexplicit

References avx_ptr< T, lgBC >::p_alloc().

Here is the call graph for this function:

template<class T, bool lgBC = lgBOUNDSCHECKVAL>
avx_ptr< T, lgBC >::avx_ptr ( long  begin,
long  end 
)
inline

References avx_ptr< T, lgBC >::p_alloc().

Here is the call graph for this function:

template<class T, bool lgBC = lgBOUNDSCHECKVAL>
avx_ptr< T, lgBC >::~avx_ptr ( )
inline

References t_avx_pool::avx_free(), NULL, and avx_ptr< T, lgBC >::p_ptr_alloc.

Here is the call graph for this function:

Member Function Documentation

template<class T, bool lgBC = lgBOUNDSCHECKVAL>
T* avx_ptr< T, lgBC >::data ( )
inline

References avx_ptr< T, lgBC >::p_ptr_alloc.

Referenced by GrainMakeDiffuse(), and y2s().

template<class T, bool lgBC = lgBOUNDSCHECKVAL>
const T* avx_ptr< T, lgBC >::data ( ) const
inline
template<class T, bool lgBC = lgBOUNDSCHECKVAL>
reference avx_ptr< T, lgBC >::operator[] ( long  i)
inline

References OUT_OF_RANGE(), avx_ptr< T, lgBC >::p_end, and avx_ptr< T, lgBC >::p_ptr.

Here is the call graph for this function:

template<class T, bool lgBC = lgBOUNDSCHECKVAL>
const_reference avx_ptr< T, lgBC >::operator[] ( long  i) const
inline

References OUT_OF_RANGE(), avx_ptr< T, lgBC >::p_end, and avx_ptr< T, lgBC >::p_ptr.

Here is the call graph for this function:

template<class T, bool lgBC = lgBOUNDSCHECKVAL>
void avx_ptr< T, lgBC >::p_alloc ( long  begin,
long  end 
)
inlineprivate
template<class T, bool lgBC = lgBOUNDSCHECKVAL>
const T* avx_ptr< T, lgBC >::ptr0 ( ) const
inline

Member Data Documentation

template<class T, bool lgBC = lgBOUNDSCHECKVAL>
long avx_ptr< T, lgBC >::p_begin
private
template<class T, bool lgBC = lgBOUNDSCHECKVAL>
long avx_ptr< T, lgBC >::p_end
private
template<class T, bool lgBC = lgBOUNDSCHECKVAL>
T* avx_ptr< T, lgBC >::p_ptr
private
template<class T, bool lgBC = lgBOUNDSCHECKVAL>
T* avx_ptr< T, lgBC >::p_ptr_alloc
private

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