https://mooseframework.inl.gov
Namespaces | Functions
RayTracingPackingUtils.h File Reference

Go to the source code of this file.

Namespaces

 RayTracingPackingUtils
 
 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. More...
 
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. More...
 
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. More...
 
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. More...
 
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(). More...
 
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(). More...
 
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(). More...
 
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. More...
 
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. More...
 
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(). More...
 
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. More...
 
template<typename BufferType >
constexpr std::size_t RayTracingPackingUtils::detail::mixedPackSizeHelper (const std::size_t offset, const std::size_t size)
 Helper for mixedPackSize(). More...
 
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(). More...
 
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() More...
 
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() More...
 
template<typename BufferType >
BufferType RayTracingPackingUtils::pack (const Elem *elem, MeshBase *libmesh_dbg_var(mesh_base))