ATLAS Offline Software
Loading...
Searching...
No Matches
TracccEdmSerialization.h File Reference

Byte (de)serialization of vecmem SoA host containers, used to ship traccc EDM collections between the Triton client and backend. More...

#include <cstddef>
#include <cstdint>
#include <cstring>
#include <stdexcept>
#include <type_traits>
#include <utility>
#include <vector>
#include <vecmem/edm/host.hpp>
Include dependency graph for TracccEdmSerialization.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  TracccTriton::detail::Reader

Namespaces

namespace  TracccTriton
namespace  TracccTriton::detail
 Wire format of one serialized container, per variable in schema order:

Functions

void TracccTriton::detail::putBytes (std::vector< std::uint8_t > &out, const void *data, std::size_t size)
void TracccTriton::detail::putSize (std::vector< std::uint8_t > &out, std::uint64_t size)
template<typename Element, typename Allocator>
void TracccTriton::detail::write (std::vector< std::uint8_t > &out, const std::vector< Element, Allocator > &variable)
template<typename Element, typename InnerAllocator, typename OuterAllocator>
void TracccTriton::detail::write (std::vector< std::uint8_t > &out, const std::vector< std::vector< Element, InnerAllocator >, OuterAllocator > &variable)
template<typename Element, typename Allocator>
void TracccTriton::detail::read (Reader &in, std::vector< Element, Allocator > &variable)
template<typename Element, typename InnerAllocator, typename OuterAllocator>
void TracccTriton::detail::read (Reader &in, std::vector< std::vector< Element, InnerAllocator >, OuterAllocator > &variable)
template<typename... VARTYPES, template< typename > class INTERFACE>
void TracccTriton::serialize (const vecmem::edm::host< vecmem::edm::schema< VARTYPES... >, INTERFACE > &container, std::vector< std::uint8_t > &out)
 Append container to out in the format described above.
template<typename... VARTYPES, template< typename > class INTERFACE>
void TracccTriton::deserialize (const std::uint8_t *data, std::size_t size, vecmem::edm::host< vecmem::edm::schema< VARTYPES... >, INTERFACE > &container)
 Fill container from size bytes at data.

Detailed Description

Byte (de)serialization of vecmem SoA host containers, used to ship traccc EDM collections between the Triton client and backend.

Author
Miles Cochran-Branson
Date
September 2026

Definition in file TracccEdmSerialization.h.