Skip to content

rlp::RlpEncoder

#include <rlp_encoder.hpp>

Public Functions

Name
RlpEncoder() =default
EncodingOperationResult add(ByteView bytes)
EncodingOperationResult AddRaw(ByteView bytes)
template <typename T >
std::enable_if_t< is_unsigned_integral_v< T >, EncodingOperationResult >
add(const T & n)
EncodingOperationResult add(const intx::uint256 & n)
EncodingOperationResult BeginList()
EncodingOperationResult EndList()
template <typename T >
EncodingOperationResult
add(const std::vector< T > & vec)
template <typename T >
EncodingOperationResult
add(boost::span< const T > vec_span)
template <size_t N>
EncodingOperationResult
add(const std::array< uint8_t, N > & arr)
EncodingResult< const Bytes * > GetBytes() const
EncodingResult< Bytes * > GetBytes()
EncodingResult< Bytes > MoveBytes()
void clear()
size_t size() const
void reserve(size_t capacity)

Public Functions Documentation

function RlpEncoder

RlpEncoder() =default

function add

EncodingOperationResult add(
    ByteView bytes
)

function AddRaw

EncodingOperationResult AddRaw(
    ByteView bytes
)

Parameters:

  • bytes Raw bytes to append. Must not be empty.

Return: Error if bytes is empty.

Appends raw bytes directly to the internal buffer without RLP encoding.

Use this method only if you have already encoded the data according to RLP rules, or if you need to append a pre-encoded RLP fragment. Unlike add(), this method does not perform any encoding or validation, and may result in malformed RLP output if used incorrectly.

Prefer add() for normal usage. Use AddRaw() only if you know what you are doing.

function add

template <typename T >
inline std::enable_if_t< is_unsigned_integral_v< T >, EncodingOperationResult > add(
    const T & n
)

function add

EncodingOperationResult add(
    const intx::uint256 & n
)

function BeginList

EncodingOperationResult BeginList()

function EndList

EncodingOperationResult EndList()

function add

template <typename T >
inline EncodingOperationResult add(
    const std::vector< T > & vec
)

function add

template <typename T >
inline EncodingOperationResult add(
    boost::span< const T > vec_span
)

function add

template <size_t N>
inline EncodingOperationResult add(
    const std::array< uint8_t, N > & arr
)

function GetBytes

EncodingResult< const Bytes * > GetBytes() const

function GetBytes

EncodingResult< Bytes * > GetBytes()

function MoveBytes

EncodingResult< Bytes > MoveBytes()

function clear

void clear()

function size

inline size_t size() const

function reserve

inline void reserve(
    size_t capacity
)

Updated on 2026-04-13 at 23:22:46 -0700