https://mooseframework.inl.gov
Loading...
Searching...
No Matches
Namespaces | Functions
RayTracingPackingUtils.h File Reference

Go to the source code of this file.

Namespaces

namespace  RayTracingPackingUtils
 
namespace  RayTracingPackingUtils::detail
 

Functions

template<class Cont , class InputIt >
void RayTracingPackingUtils::unpackCopy (Cont &container, InputIt &input_iterator)
 Like std::copy, but passes the input iterator by reference.
 
template<typename BufferType , typename BufferIter , typename ValueType >
void RayTracingPackingUtils::reinterpretPackCopy (const std::vector< ValueType > &values, BufferIter &out)
 Packs the data in values into the iterator out and minimizes memory storage in said iterator.
 
template<typename BufferType , typename BufferIter , typename ValueType >
void RayTracingPackingUtils::reinterpretUnpackCopy (std::vector< ValueType > &values, BufferIter &in)
 Packs the data from in into the vector values.
 
template<typename ValueType , typename BufferType >
std::size_t RayTracingPackingUtils::reinterpretCopySize (const std::size_t input_size)
 Gets the minimum number of values of BufferType needed to represent input_size values of ValueType.
 
template<typename BufferType , typename BufferIter , typename... ValueTypes>
void RayTracingPackingUtils::mixedUnpack (BufferIter &in, ValueTypes &... values)
 Unpacks the mixed-values from in into values that were packed with mixedPack().
 
template<typename BufferType , typename BufferIter , typename... ValueTypes>
void RayTracingPackingUtils::mixedPack (BufferIter &out, ValueTypes const &... values)
 Packs the mixed-type values in values into out to be unpacked with mixedUnpack().
 
template<typename BufferType , typename... InputTypes>
constexpr std::size_t RayTracingPackingUtils::mixedPackSize ()
 Gets the number of BufferType required to store the expanded InputTypes for use with mixedPack() and mixedUnpack().
 
template<typename BufferType , typename ValueType >
BufferType RayTracingPackingUtils::pack (const ValueType value)
 Packs value into a value of type BufferType at a byte level, to be unpacked with the unpack() routines in this namespace.
 
template<typename BufferType , typename ValueType >
void RayTracingPackingUtils::unpack (const BufferType value_as_buffer_type, ValueType &value)
 Unpacks value_as_buffer_type (which is packed with pack()) into value at a byte level.
 
template<typename BufferType >
BufferType RayTracingPackingUtils::pack (const Elem *elem, MeshBase *mesh_base=nullptr)
 Packs the ID of elem into a type of BufferType to be unpacked later into another const Elem * with unpack().
 
template<typename BufferType >
void RayTracingPackingUtils::unpack (const Elem *&elem, const BufferType id_as_buffer_type, MeshBase *mesh_base)
 Unpacks the const Elem * from id_as_buffer_type (packed using pack()) into elem.
 
template<typename BufferType >
constexpr std::size_t RayTracingPackingUtils::detail::mixedPackSizeHelper (const std::size_t offset, const std::size_t size)
 Helper for mixedPackSize().
 
template<typename BufferType , typename InputType , typename... Rest>
constexpr std::size_t RayTracingPackingUtils::detail::mixedPackSizeHelper (std::size_t offset, std::size_t size)
 Recursive helper for mixedPackSize().
 
template<typename BufferType , typename BufferIter , typename ValueType >
void RayTracingPackingUtils::detail::mixedUnpackHelper (BufferIter &in, const BufferType *&src, std::size_t &src_offset, ValueType &output)
 Helper for mixedUnpack()
 
template<typename BufferIter , typename BufferType , typename ValueType >
void RayTracingPackingUtils::detail::mixedPackHelper (BufferIter &out, BufferType &dest, std::size_t &dest_offset, const ValueType &input)
 Helper for mixedPack()
 
template<typename BufferType >
BufferType RayTracingPackingUtils::pack (const Elem *elem, MeshBase *libmesh_dbg_var(mesh_base))