|
template<class T > |
constexpr T | jmmcg::LIBJMMCG_VER_NAMESPACE::private_::bits::clear_leftmost_set (const T value) noexcept(true) |
|
template<class T > |
constexpr unsigned | jmmcg::LIBJMMCG_VER_NAMESPACE::private_::bits::count_trailing_zeroes (const T value) noexcept(true)=delete |
|
template<> |
unsigned | jmmcg::LIBJMMCG_VER_NAMESPACE::private_::bits::count_trailing_zeroes< std::uint32_t > (const std::uint32_t value) noexcept(true) |
|
template<> |
unsigned | jmmcg::LIBJMMCG_VER_NAMESPACE::private_::bits::count_trailing_zeroes< std::uint64_t > (const std::uint64_t value) noexcept(true) |
|
template<> |
unsigned | jmmcg::LIBJMMCG_VER_NAMESPACE::private_::bits::count_trailing_zeroes< uint128_t > (const uint128_t value) noexcept(true) |
|
template<class T > |
constexpr unsigned | jmmcg::LIBJMMCG_VER_NAMESPACE::private_::bits::count_leading_zeroes (const T value) noexcept(true)=delete |
|
template<> |
unsigned | jmmcg::LIBJMMCG_VER_NAMESPACE::private_::bits::count_leading_zeroes< std::uint32_t > (const std::uint32_t value) noexcept(true) |
|
template<> |
unsigned | jmmcg::LIBJMMCG_VER_NAMESPACE::private_::bits::count_leading_zeroes< std::uint64_t > (const std::uint64_t value) noexcept(true) |
|
template<> |
unsigned | jmmcg::LIBJMMCG_VER_NAMESPACE::private_::bits::count_leading_zeroes< uint128_t > (const uint128_t value) noexcept(true) |
|
template<class Iter1 , class Iter2 > |
void FORCE_INLINE | jmmcg::LIBJMMCG_VER_NAMESPACE::memcpy (Iter1 dest, Iter2 src, std::size_t n) noexcept(true) |
| Equivalent to the memcpy operations. More...
|
|
template<> |
void FORCE_INLINE | jmmcg::LIBJMMCG_VER_NAMESPACE::memcpy< char *, char const * > (char *dest, char const *src, std::size_t n) noexcept(true) |
|
template<> |
void FORCE_INLINE | jmmcg::LIBJMMCG_VER_NAMESPACE::memcpy< wchar_t *, wchar_t const * > (wchar_t *dest, wchar_t const *src, std::size_t n) noexcept(true) |
|
template<class Iter1 , class Iter2 > |
void FORCE_INLINE | jmmcg::LIBJMMCG_VER_NAMESPACE::memmove (Iter1 dest, Iter2 src, std::size_t n) noexcept(true) |
| Equivalent to the memmove operations. More...
|
|
template<> |
void FORCE_INLINE | jmmcg::LIBJMMCG_VER_NAMESPACE::memmove< char *, char const * > (char *dest, char const *src, std::size_t n) noexcept(true) |
|
template<> |
void FORCE_INLINE | jmmcg::LIBJMMCG_VER_NAMESPACE::memmove< wchar_t *, wchar_t const * > (wchar_t *dest, wchar_t const *src, std::size_t n) noexcept(true) |
|
template<class Iter , class V > |
std::enable_if< std::is_same< typename std::iterator_traits< Iter >::value_type, V >::value >::type FORCE_INLINE | jmmcg::LIBJMMCG_VER_NAMESPACE::memset (Iter dest, V i, std::size_t n) noexcept(true) |
| Equivalent to the memset operations. More...
|
|
template<> |
void FORCE_INLINE | jmmcg::LIBJMMCG_VER_NAMESPACE::memset< char *, char > (char *dest, char i, std::size_t n) noexcept(true) |
|
template<> |
void FORCE_INLINE | jmmcg::LIBJMMCG_VER_NAMESPACE::memset< wchar_t *, wchar_t > (wchar_t *dest, wchar_t i, std::size_t n) noexcept(true) |
|
template<class Iter > |
bool FORCE_INLINE | jmmcg::LIBJMMCG_VER_NAMESPACE::memcmp (Iter src1, Iter src2, std::size_t n) noexcept(true) |
| Equivalent to the std::memcmp() operations. More...
|
|
template<> |
bool FORCE_INLINE | jmmcg::LIBJMMCG_VER_NAMESPACE::memcmp< char const * > (char const *src1, char const *src2, std::size_t n) noexcept(true) |
|
template<> |
bool FORCE_INLINE | jmmcg::LIBJMMCG_VER_NAMESPACE::memcmp< wchar_t const * > (wchar_t const *src1, wchar_t const *src2, std::size_t n) noexcept(true) |
|
template<class Val , std::size_t SrcSz, std::size_t DestSz> |
void FORCE_INLINE | jmmcg::LIBJMMCG_VER_NAMESPACE::memcpy (Val const (&src)[SrcSz], Val(&dest)[DestSz]) noexcept(false) |
|
template<std::size_t SrcSz, std::size_t DestSz> |
constexpr void FORCE_INLINE | jmmcg::LIBJMMCG_VER_NAMESPACE::memcpy_opt (char const (&src)[SrcSz], char(&dest)[DestSz]) noexcept(true) |
| Copy the source array to the destination (which may overlap), statically unrolled. More...
|
|
template<std::size_t FirstSz, std::size_t SecondSz> |
constexpr bool FORCE_INLINE | jmmcg::LIBJMMCG_VER_NAMESPACE::memcmp_opt (char const (&first)[FirstSz], char const (&second)[SecondSz]) noexcept(true) |
| Compare the source array to the destination (which may overlap), statically unrolled. More...
|
|
template<char const needle, std::size_t FirstSz> |
constexpr char const *FORCE_INLINE | jmmcg::LIBJMMCG_VER_NAMESPACE::strchr_opt (char const (&haystack)[FirstSz]) noexcept(true) __attribute__((pure)) |
| Find the first occurrence of the character in the string. More...
|
|
template<std::size_t FirstSz, std::size_t SecondSz, class LessThan32BytesLong > |
constexpr char const *FORCE_INLINE | jmmcg::LIBJMMCG_VER_NAMESPACE::strstr_opt (char const (&haystack)[FirstSz], char const (&needle)[SecondSz]) noexcept(true) |
|
template<std::size_t SrcSz, std::size_t DestSz> |
constexpr void FORCE_INLINE | jmmcg::LIBJMMCG_VER_NAMESPACE::memcpy_opt (std::array< char, SrcSz > const &src, std::array< char, DestSz > &dest) noexcept(true) |
|
template<std::size_t SrcSz, std::size_t DestSz> |
constexpr void FORCE_INLINE | jmmcg::LIBJMMCG_VER_NAMESPACE::memcpy_opt (std::array< uint8_t, SrcSz > const &src, std::array< uint8_t, DestSz > &dest) noexcept(true) |
|
template<std::size_t Sz> |
bool | jmmcg::LIBJMMCG_VER_NAMESPACE::memcmp (std::array< char, Sz > const &src1, std::array< char, Sz > const &src2) noexcept(true) |
|
template<std::size_t Sz> |
bool | jmmcg::LIBJMMCG_VER_NAMESPACE::memcmp (std::array< uint8_t, Sz > const &src1, std::array< uint8_t, Sz > const &src2) noexcept(true) |
|
template<std::size_t Sz> |
bool | jmmcg::LIBJMMCG_VER_NAMESPACE::operator== (std::array< char, Sz > const &src1, std::array< char, Sz > const &src2) noexcept(true) |
|
template<std::size_t Sz> |
bool | jmmcg::LIBJMMCG_VER_NAMESPACE::operator== (std::array< uint8_t, Sz > const &src1, std::array< uint8_t, Sz > const &src2) noexcept(true) |
|
template<std::size_t SrcSz, std::size_t DestSz> |
constexpr void | jmmcg::LIBJMMCG_VER_NAMESPACE::memcpy_slow (char const (&src)[SrcSz], char(&dest)[DestSz]) noexcept(true) |
|
template<class T , class V > |
T | jmmcg::LIBJMMCG_VER_NAMESPACE::copy (V const &src) noexcept(true) |
|
template<std::size_t SrcSz, std::size_t DestSz> |
constexpr std::array< char, DestSz > | jmmcg::LIBJMMCG_VER_NAMESPACE::copy (std::array< char, SrcSz > const &src) noexcept(true) |
|
template<std::size_t SrcSz, std::size_t DestSz> |
constexpr std::array< uint8_t, DestSz > | jmmcg::LIBJMMCG_VER_NAMESPACE::copy (std::array< uint8_t, SrcSz > const &src) noexcept(true) |
|