codex
anonymous_namespace{base64.cpp} Namespace Reference

Functions

template<unsigned char M>
constexpr auto rmask (char c)
 Applies a mask and shifts right. More...
 
template<unsigned char M>
constexpr auto lmask (char c)
 Shifts left and applies a mask. More...
 
template<unsigned char LM>
constexpr auto merge (char c0, char c1)
 Merges parts of two bytes according to a mask. More...
 
template<auto max>
constexpr bool check (auto ...vs)
 Checks that no value is equal to max, which must be a power of 2. More...
 
constexpr auto lu (const auto &t, auto c)
 Looks up the value of byte c in look-up table t. More...
 

Function Documentation

◆ check()

template<auto max>
constexpr bool anonymous_namespace{base64.cpp}::check ( auto ...  vs)
constexpr

Checks that no value is equal to max, which must be a power of 2.

Here is the caller graph for this function:

◆ lmask()

template<unsigned char M>
constexpr auto anonymous_namespace{base64.cpp}::lmask ( char  c)
constexpr

Shifts left and applies a mask.

The input is shifted left by the amount of zero bits on the right side of the mask and the mask is applied.

◆ lu()

constexpr auto anonymous_namespace base64 anonymous_namespace{base64.cpp}::cpp::lu ( const auto &  t,
auto  c 
)
constexpr

Looks up the value of byte c in look-up table t.

Here is the caller graph for this function:

◆ merge()

template<unsigned char LM>
constexpr auto anonymous_namespace{base64.cpp}::merge ( char  c0,
char  c1 
)
constexpr

Merges parts of two bytes according to a mask.

Applies lmask to c0 and rmask to c1 using LM and its opposite and combines the result.

◆ rmask()

template<unsigned char M>
constexpr auto anonymous_namespace{base64.cpp}::rmask ( char  c)
constexpr

Applies a mask and shifts right.

The mask is applied to the input byte and the result is shifted right by the amount of zero bits on the right side of the mask.