Cloudy
Spectral Synthesis Code for Astrophysics
Loading...
Searching...
No Matches
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

◆ const_reference

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

◆ reference

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

Constructor & Destructor Documentation

◆ avx_ptr() [1/3]

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

References NULL, p_begin, p_end, p_ptr, and p_ptr_alloc.

◆ avx_ptr() [2/3]

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

References p_alloc().

Here is the call graph for this function:

◆ avx_ptr() [3/3]

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

References p_alloc().

Here is the call graph for this function:

◆ ~avx_ptr()

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

References avx_pool, NULL, and p_ptr_alloc.

Member Function Documentation

◆ data() [1/2]

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

References p_ptr_alloc.

Referenced by GrainMakeDiffuse(), and y2s().

◆ data() [2/2]

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

References p_ptr_alloc.

◆ operator[]() [1/2]

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

References OUT_OF_RANGE(), p_end, and p_ptr.

Here is the call graph for this function:

◆ operator[]() [2/2]

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

References OUT_OF_RANGE(), p_end, and p_ptr.

Here is the call graph for this function:

◆ p_alloc()

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

References avx_pool, max(), NULL, p_begin, p_end, p_ptr, and p_ptr_alloc.

Referenced by avx_ptr(), and avx_ptr().

Here is the call graph for this function:

◆ ptr0() [1/2]

◆ ptr0() [2/2]

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

References p_ptr.

Member Data Documentation

◆ p_begin

template<class T, bool lgBC = lgBOUNDSCHECKVAL>
long avx_ptr< T, lgBC >::p_begin
private

Referenced by avx_ptr(), and p_alloc().

◆ p_end

template<class T, bool lgBC = lgBOUNDSCHECKVAL>
long avx_ptr< T, lgBC >::p_end
private

◆ p_ptr

template<class T, bool lgBC = lgBOUNDSCHECKVAL>
T* avx_ptr< T, lgBC >::p_ptr
private

◆ p_ptr_alloc

template<class T, bool lgBC = lgBOUNDSCHECKVAL>
T* avx_ptr< T, lgBC >::p_ptr_alloc
private

Referenced by avx_ptr(), data(), data(), p_alloc(), and ~avx_ptr().


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