VBVX 0.1.0
Header-only C++23 library for safe, zero-copy parsing of packet buffers.
Loading...
Searching...
No Matches
vbvx::HeaderView< H > Class Template Reference

A lightweight view over a header inside a packet buffer. More...

#include <header_view.hxx>

Public Member Functions

constexpr HeaderView () noexcept=default
constexpr HeaderView (const header_t *p) noexcept
constexpr HeaderView (const uint8_t *p) noexcept
constexpr operator bool () const noexcept
constexpr auto get () const noexcept -> const header_t *
constexpr auto operator-> () const noexcept -> const header_t *
constexpr auto operator* () const noexcept -> const header_t &
constexpr auto copy () const noexcept -> header_t

Detailed Description

template<WireHeader H>
class vbvx::HeaderView< H >

A lightweight view over a header inside a packet buffer.

  • Zero-copy: wraps a pointer into the packet data.
  • Safe: alignment is 1 due to alignas(1) on header structs.
  • Convenient: acts like a pointer and can be copied out when needed.

Constructor & Destructor Documentation

◆ HeaderView() [1/3]

template<WireHeader H>
vbvx::HeaderView< H >::HeaderView ( )
constexprdefaultnoexcept

◆ HeaderView() [2/3]

template<WireHeader H>
vbvx::HeaderView< H >::HeaderView ( const header_t * p)
inlineexplicitconstexprnoexcept

◆ HeaderView() [3/3]

template<WireHeader H>
vbvx::HeaderView< H >::HeaderView ( const uint8_t * p)
inlineexplicitconstexprnoexcept

Member Function Documentation

◆ copy()

template<WireHeader H>
auto vbvx::HeaderView< H >::copy ( ) const -> header_t
inlineconstexprnoexcept

◆ get()

template<WireHeader H>
auto vbvx::HeaderView< H >::get ( ) const -> const header_t *
inlineconstexprnoexcept

◆ operator bool()

template<WireHeader H>
vbvx::HeaderView< H >::operator bool ( ) const
inlineexplicitconstexprnoexcept

◆ operator*()

template<WireHeader H>
auto vbvx::HeaderView< H >::operator* ( ) const -> const header_t &
inlineconstexprnoexcept

◆ operator->()

template<WireHeader H>
auto vbvx::HeaderView< H >::operator-> ( ) const -> const header_t *
inlineconstexprnoexcept

The documentation for this class was generated from the following file: