NumPy Serialization Helpers#

#include <raft/core/numpy_serializer.hpp>

namespace raft::numpy_serializer

using ndarray_len_t = detail::numpy_serializer::ndarray_len_t#

Integer type used for NumPy array shape extents.

using dtype_t = detail::numpy_serializer::dtype_t#

NumPy dtype descriptor.

using header_t = detail::numpy_serializer::header_t#

Parsed NumPy header metadata.

template<typename T>
inline dtype_t get_numpy_dtype()#

Return the NumPy dtype descriptor corresponding to a C++ element type.

Template Parameters:

T – C++ element type.

Returns:

NumPy dtype descriptor for T.

inline dtype_t parse_descr(std::string typestr)#

Parse a NumPy dtype descriptor string.

Parameters:

typestr – NumPy dtype descriptor string.

Returns:

Parsed NumPy dtype descriptor.

inline void write_header(std::ostream &os, const header_t &header)#

Write a NumPy .npy header to an output stream.

Parameters:
  • os – Output stream.

  • header – Header metadata to write.

inline header_t read_header(std::istream &is)#

Read and parse a NumPy .npy header from an input stream.

The stream is left positioned immediately after the header.

Parameters:

is – Input stream.

Returns:

Parsed NumPy header metadata.