Class MHO_AxisPack.
More...
#include <MHO_AxisPack.hh>
|
typedef std::tuple< XAxisTypeS... > | axis_pack_tuple_type |
|
typedef std::integral_constant< std::size_t, sizeof...(XAxisTypeS) > | NAXES |
|
|
template<std::size_t N = 0> |
std::enable_if<(N==sizeof...(XAxisTypeS)), void >::type | compute_total_size (uint64_t &) const |
| Inductively computes and adds total serialized size of tuple elements to uint64_t& (needed for streaming). More...
|
|
template<std::size_t N = 0> |
std::enable_if<(N< sizeof...(XAxisTypeS)), void >::type | compute_total_size (uint64_t &total_size) const |
| Recursively computes and adds serialized size of Nth XAxisTypeS element to total_size. More...
|
|
template<std::size_t N = 0> |
std::enable_if<(N==sizeof...(XAxisTypeS)), void >::type | copy (const MHO_AxisPack &) const |
| used for copying the full tuple from one axis pack to another More...
|
|
template<std::size_t N = 0> |
std::enable_if<(N< sizeof...(XAxisTypeS)), void >::type | copy (const MHO_AxisPack &rhs) |
| Copies an axis pack recursively using template meta-programming. More...
|
|
template<std::size_t N = 0> |
std::enable_if<(N==sizeof...(XAxisTypeS)), void >::type | resize_axis_pack (const std::size_t *) |
| inductive access to all elements of the tuple, so we can re-size them from an array More...
|
|
template<std::size_t N = 0> |
std::enable_if<(N< sizeof...(XAxisTypeS)), void >::type | resize_axis_pack (const std::size_t *dim) |
| Resize each element of the axis pack using the dimensions specified in dim. More...
|
|
template<typename... XAxisTypeS>
class hops::MHO_AxisPack< XAxisTypeS >
Class MHO_AxisPack.
a packaged set of axes (XAxisTypeS are expected to inherit from MHO_Axis)
- Author
- J. Barrett - barre.nosp@m.ttj@.nosp@m.mit.e.nosp@m.du
- Date
- Mon Aug 17 12:42:31 2020 -0400
◆ axis_pack_tuple_type
template<typename... XAxisTypeS>
◆ NAXES
template<typename... XAxisTypeS>
◆ MHO_AxisPack() [1/3]
template<typename... XAxisTypeS>
◆ MHO_AxisPack() [2/3]
template<typename... XAxisTypeS>
◆ MHO_AxisPack() [3/3]
template<typename... XAxisTypeS>
◆ ~MHO_AxisPack()
template<typename... XAxisTypeS>
◆ compute_total_size() [1/2]
template<typename... XAxisTypeS>
template<std::size_t N = 0>
std::enable_if< (N == sizeof...(XAxisTypeS)), void >::type hops::MHO_AxisPack< XAxisTypeS >::compute_total_size |
( |
uint64_t & |
| ) |
const |
|
inlineprotected |
Inductively computes and adds total serialized size of tuple elements to uint64_t& (needed for streaming).
- Template Parameters
-
N | Template parameter (size of the axis pack) |
- Parameters
-
!total_size | Parameter description |
◆ compute_total_size() [2/2]
template<typename... XAxisTypeS>
template<std::size_t N = 0>
std::enable_if< (N < sizeof...(XAxisTypeS)), void >::type hops::MHO_AxisPack< XAxisTypeS >::compute_total_size |
( |
uint64_t & |
total_size | ) |
const |
|
inlineprotected |
Recursively computes and adds serialized size of Nth XAxisTypeS element to total_size.
- Template Parameters
-
- Parameters
-
total_size | Reference to uint64_t accumulating total serialized size |
- Returns
- void
◆ copy() [1/2]
template<typename... XAxisTypeS>
template<std::size_t N = 0>
used for copying the full tuple from one axis pack to another
- Template Parameters
-
- Parameters
-
MHO_AxisPack& | Parameter description |
◆ copy() [2/2]
template<typename... XAxisTypeS>
template<std::size_t N = 0>
Copies an axis pack recursively using template meta-programming.
- Template Parameters
-
- Parameters
-
rhs | The source axis pack to copy from. |
- Returns
- void (not explicitly returned)
◆ GetSerializedSize()
template<typename... XAxisTypeS>
Getter for serialized size.
- Returns
- Total serialized size as uint64_t.
- Note
- This is a virtual function.
Implements hops::MHO_Serializable.
Reimplemented in hops::MHO_TableContainer< double, MHO_AxisPack< MHO_Axis< double > > >, hops::MHO_TableContainer< visibility_element_type, mbd_dr_axis_pack >, hops::MHO_TableContainer< double, mbd_axis_pack >, hops::MHO_TableContainer< pcal_phasor_type, multitone_pcal_axis_type >, hops::MHO_TableContainer< visibility_element_type, mbd_axis_pack >, hops::MHO_TableContainer< weight_element_type, baseline_axis_pack >, hops::MHO_TableContainer< std::complex< double >, MHO_AxisPack< MHO_Axis< double > > >, hops::MHO_TableContainer< std::complex< double >, pcal_axis_pack >, and hops::MHO_TableContainer< visibility_element_type, baseline_axis_pack >.
◆ operator=()
template<typename... XAxisTypeS>
◆ resize_axis_pack() [1/2]
template<typename... XAxisTypeS>
template<std::size_t N = 0>
std::enable_if< (N == sizeof...(XAxisTypeS)), void >::type hops::MHO_AxisPack< XAxisTypeS >::resize_axis_pack |
( |
const std::size_t * |
| ) |
|
|
inlineprotected |
inductive access to all elements of the tuple, so we can re-size them from an array
- Template Parameters
-
N | Template parameter (size of the axis pack) |
- Parameters
-
!dim | Parameter description |
◆ resize_axis_pack() [2/2]
template<typename... XAxisTypeS>
template<std::size_t N = 0>
std::enable_if< (N < sizeof...(XAxisTypeS)), void >::type hops::MHO_AxisPack< XAxisTypeS >::resize_axis_pack |
( |
const std::size_t * |
dim | ) |
|
|
inlineprotected |
Resize each element of the axis pack using the dimensions specified in dim.
- Template Parameters
-
N | Template parameter (size of the axis pack) |
- Parameters
-
dim | Input dimension sizes for resizing. |
◆ operator<<
template<typename... XAxisTypeS>
template<typename XStream >
XStream& operator<< |
( |
XStream & |
s, |
|
|
const MHO_AxisPack< XAxisTypeS > & |
aData |
|
) |
| |
|
friend |
◆ operator>>
template<typename... XAxisTypeS>
template<typename XStream >
XStream& operator>> |
( |
XStream & |
s, |
|
|
MHO_AxisPack< XAxisTypeS > & |
aData |
|
) |
| |
|
friend |
The documentation for this class was generated from the following file: