Cloudy
Spectral Synthesis Code for Astrophysics
Loading...
Searching...
No Matches
multi_geom< d, ALLOC > Class Template Reference

#include <container_classes.h>

Collaboration diagram for multi_geom< d, ALLOC >:

Public Types

typedef size_t size_type
 

Public Member Functions

 multi_geom ()
 
 multi_geom (const multi_geom &m)
 
 ~multi_geom ()
 
void clear ()
 
const multi_geomoperator= (const multi_geom &m)
 
bool lgInbounds (const size_type n, const size_type index[]) const
 
void reserve (const size_type n, const size_type index[])
 
void reserve_recursive (const size_type n, size_type index[])
 
void finalize (void)
 

Public Attributes

tree_vec v
 
size_type size
 
size_type s [d]
 allocated size (number of data elements, pointers are not counted)
 
size_type st [d]
 size of each dimension (only used in C_TYPE layout)
 
size_type nsl [d]
 stride for each dimension (only used in C_TYPE layout)
 

Private Member Functions

void p_clear0 ()
 sizes of each of the pointer arrays
 
void p_clear1 ()
 
void p_setupArray (size_type n1[], size_type n2[], const tree_vec *w, size_type l)
 

Detailed Description

template<int d, mem_layout ALLOC = MEM_LAYOUT_VAL>
class multi_geom< d, ALLOC >

multi_geom - this class maintains all the geometry information for multi_arr keeping it separate makes it easy to clone the information from one multi_arr to another

Member Typedef Documentation

◆ size_type

template<int d, mem_layout ALLOC = MEM_LAYOUT_VAL>
typedef size_t multi_geom< d, ALLOC >::size_type

Constructor & Destructor Documentation

◆ multi_geom() [1/2]

template<int d, mem_layout ALLOC = MEM_LAYOUT_VAL>
multi_geom< d, ALLOC >::multi_geom ( )
inline

References p_clear1().

Referenced by multi_geom(), and operator=().

Here is the call graph for this function:

◆ multi_geom() [2/2]

template<int d, mem_layout ALLOC = MEM_LAYOUT_VAL>
multi_geom< d, ALLOC >::multi_geom ( const multi_geom< d, ALLOC > & m)
inline

References multi_geom(), and p_clear1().

Here is the call graph for this function:

◆ ~multi_geom()

template<int d, mem_layout ALLOC = MEM_LAYOUT_VAL>
multi_geom< d, ALLOC >::~multi_geom ( )
inline

References p_clear0().

Here is the call graph for this function:

Member Function Documentation

◆ clear()

template<int d, mem_layout ALLOC = MEM_LAYOUT_VAL>
void multi_geom< d, ALLOC >::clear ( )
inline

References p_clear0(), and p_clear1().

Referenced by operator=().

Here is the call graph for this function:

◆ finalize()

template<int d, mem_layout ALLOC = MEM_LAYOUT_VAL>
void multi_geom< d, ALLOC >::finalize ( void )
inline

References ARPA_TYPE, ASSERT, C_TYPE, nsl, p_setupArray(), s, size, st, TotalInsanity(), and v.

Here is the call graph for this function:

◆ lgInbounds()

template<int d, mem_layout ALLOC = MEM_LAYOUT_VAL>
bool multi_geom< d, ALLOC >::lgInbounds ( const size_type n,
const size_type index[] ) const
inline

References lgInbounds(), and v.

Referenced by lgInbounds(), and reserve().

Here is the call graph for this function:

◆ operator=()

template<int d, mem_layout ALLOC = MEM_LAYOUT_VAL>
const multi_geom & multi_geom< d, ALLOC >::operator= ( const multi_geom< d, ALLOC > & m)
inline

References clear(), multi_geom(), nsl, s, size, st, and v.

Here is the call graph for this function:

◆ p_clear0()

template<int d, mem_layout ALLOC = MEM_LAYOUT_VAL>
void multi_geom< d, ALLOC >::p_clear0 ( )
inlineprivate

sizes of each of the pointer arrays

References v.

Referenced by clear(), and ~multi_geom().

◆ p_clear1()

template<int d, mem_layout ALLOC = MEM_LAYOUT_VAL>
void multi_geom< d, ALLOC >::p_clear1 ( )
inlineprivate

References nsl, s, size, and st.

Referenced by clear(), multi_geom(), and multi_geom().

◆ p_setupArray()

template<int d, mem_layout ALLOC = MEM_LAYOUT_VAL>
void multi_geom< d, ALLOC >::p_setupArray ( size_type n1[],
size_type n2[],
const tree_vec * w,
size_type l )
inlineprivate

References tree_vec::d, tree_vec::n, and p_setupArray().

Referenced by finalize(), and p_setupArray().

Here is the call graph for this function:

◆ reserve()

template<int d, mem_layout ALLOC = MEM_LAYOUT_VAL>
void multi_geom< d, ALLOC >::reserve ( const size_type n,
const size_type index[] )
inline

References ASSERT, tree_vec::d, lgInbounds(), max(), tree_vec::n, nsl, NULL, s, and v.

Referenced by reserve_recursive().

Here is the call graph for this function:

◆ reserve_recursive()

template<int d, mem_layout ALLOC = MEM_LAYOUT_VAL>
void multi_geom< d, ALLOC >::reserve_recursive ( const size_type n,
size_type index[] )
inline

References reserve(), and reserve_recursive().

Referenced by reserve_recursive().

Here is the call graph for this function:

Member Data Documentation

◆ nsl

template<int d, mem_layout ALLOC = MEM_LAYOUT_VAL>
size_type multi_geom< d, ALLOC >::nsl[d]

stride for each dimension (only used in C_TYPE layout)

Referenced by finalize(), operator=(), p_clear1(), and reserve().

◆ s

template<int d, mem_layout ALLOC = MEM_LAYOUT_VAL>
size_type multi_geom< d, ALLOC >::s[d]

allocated size (number of data elements, pointers are not counted)

Referenced by finalize(), operator=(), p_clear1(), and reserve().

◆ size

template<int d, mem_layout ALLOC = MEM_LAYOUT_VAL>
size_type multi_geom< d, ALLOC >::size

Referenced by finalize(), operator=(), and p_clear1().

◆ st

template<int d, mem_layout ALLOC = MEM_LAYOUT_VAL>
size_type multi_geom< d, ALLOC >::st[d]

size of each dimension (only used in C_TYPE layout)

Referenced by finalize(), operator=(), and p_clear1().

◆ v

template<int d, mem_layout ALLOC = MEM_LAYOUT_VAL>
tree_vec multi_geom< d, ALLOC >::v

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