WPILibC++ 2027.0.0-alpha-5
Loading...
Searching...
No Matches
wpi::util::PackCallback< T, R > Class Template Reference

A callback method that will pack elements when called. More...

#include <wpi/util/protobuf/ProtobufCallbacks.hpp>

Public Member Functions

 PackCallback (const R &range)
 Constructs a pack callback from a range of elements.
 PackCallback (std::span< const T > buffer)
 Constructs a pack callback from a span of elements.
 PackCallback (const T *element)
 Constructs a pack callback from a pointer to a single element.
 PackCallback (const PackCallback &)=delete
 PackCallback (PackCallback &&)=delete
PackCallbackoperator= (const PackCallback &)=delete
PackCallbackoperator= (PackCallback &&)=delete
pb_callback_t Callback () const
 Gets the nanopb callback pointing to this object.

Detailed Description

template<ProtoCallbackPackable T, std::ranges::input_range R = std::span<const T>>
requires std::same_as<std::remove_cvref_t<std::ranges::range_value_t<R>>, T>
class wpi::util::PackCallback< T, R >

A callback method that will pack elements when called.

Template Parameters
Tobject type
Rrange type (defaults to std::span<const T>)

Constructor & Destructor Documentation

◆ PackCallback() [1/5]

template<ProtoCallbackPackable T, std::ranges::input_range R = std::span<const T>>
wpi::util::PackCallback< T, R >::PackCallback ( const R & range)
inlineexplicit

Constructs a pack callback from a range of elements.

The range MUST stay alive throughout the entire encode call.

◆ PackCallback() [2/5]

template<ProtoCallbackPackable T, std::ranges::input_range R = std::span<const T>>
wpi::util::PackCallback< T, R >::PackCallback ( std::span< const T > buffer)
inlineexplicit

Constructs a pack callback from a span of elements.

The elements in the buffer MUST stay alive throughout the entire encode call.

◆ PackCallback() [3/5]

template<ProtoCallbackPackable T, std::ranges::input_range R = std::span<const T>>
wpi::util::PackCallback< T, R >::PackCallback ( const T * element)
inlineexplicit

Constructs a pack callback from a pointer to a single element.

This element MUST stay alive throughout the entire encode call. Do not pass a temporary here (This is why its a pointer and not a reference)

◆ PackCallback() [4/5]

template<ProtoCallbackPackable T, std::ranges::input_range R = std::span<const T>>
wpi::util::PackCallback< T, R >::PackCallback ( const PackCallback< T, R > & )
delete

◆ PackCallback() [5/5]

template<ProtoCallbackPackable T, std::ranges::input_range R = std::span<const T>>
wpi::util::PackCallback< T, R >::PackCallback ( PackCallback< T, R > && )
delete

Member Function Documentation

◆ Callback()

template<ProtoCallbackPackable T, std::ranges::input_range R = std::span<const T>>
pb_callback_t wpi::util::PackCallback< T, R >::Callback ( ) const
inline

Gets the nanopb callback pointing to this object.

Returns
nanopb callback

◆ operator=() [1/2]

template<ProtoCallbackPackable T, std::ranges::input_range R = std::span<const T>>
PackCallback & wpi::util::PackCallback< T, R >::operator= ( const PackCallback< T, R > & )
delete

◆ operator=() [2/2]

template<ProtoCallbackPackable T, std::ranges::input_range R = std::span<const T>>
PackCallback & wpi::util::PackCallback< T, R >::operator= ( PackCallback< T, R > && )
delete

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