FastMM documentation
FastMM C++ API 0.6.0
Public headers, tier 1 and tier 2
Loading...
Searching...
No Matches
fastmm::net::QueryBuilder< Capacity > Class Template Reference

Builds "k1=v1\&k2=v2" into a fixed buffer, percent-encoding values. More...

#include <fastmm/net/url.hpp>

Public Member Functions

QueryBuilder & add (std::string_view key, std::string_view value) noexcept
 
QueryBuilder & add (std::string_view key, std::int64_t value) noexcept
 
QueryBuilder & append_raw (std::string_view raw) noexcept
 Appends raw pre-encoded text (e.g. "\&signature=...").
 
std::string_view view () const noexcept
 
std::size_t size () const noexcept
 
bool ok () const noexcept
 
bool empty () const noexcept
 
void clear () noexcept
 

Detailed Description

template<std::size_t Capacity>
class fastmm::net::QueryBuilder< Capacity >

Builds "k1=v1\&k2=v2" into a fixed buffer, percent-encoding values.

Overflow is sticky: ok() turns false and the view is truncated to the last complete pair, so a signed request can never be built from a partially-encoded query.

Member Function Documentation

◆ add() [1/2]

template<std::size_t Capacity>
QueryBuilder & fastmm::net::QueryBuilder< Capacity >::add ( std::string_view  key,
std::string_view  value 
)
inlinenoexcept

◆ add() [2/2]

template<std::size_t Capacity>
QueryBuilder & fastmm::net::QueryBuilder< Capacity >::add ( std::string_view  key,
std::int64_t  value 
)
inlinenoexcept

◆ append_raw()

template<std::size_t Capacity>
QueryBuilder & fastmm::net::QueryBuilder< Capacity >::append_raw ( std::string_view  raw)
inlinenoexcept

Appends raw pre-encoded text (e.g. "\&signature=...").

◆ view()

template<std::size_t Capacity>
std::string_view fastmm::net::QueryBuilder< Capacity >::view ( ) const
inlinenoexcept

◆ size()

template<std::size_t Capacity>
std::size_t fastmm::net::QueryBuilder< Capacity >::size ( ) const
inlinenoexcept

◆ ok()

template<std::size_t Capacity>
bool fastmm::net::QueryBuilder< Capacity >::ok ( ) const
inlinenoexcept

◆ empty()

template<std::size_t Capacity>
bool fastmm::net::QueryBuilder< Capacity >::empty ( ) const
inlinenoexcept

◆ clear()

template<std::size_t Capacity>
void fastmm::net::QueryBuilder< Capacity >::clear ( )
inlinenoexcept