AsmGrader 0.0.0
Loading...
Searching...
No Matches
asmgrader::detail Namespace Reference

Classes

struct  CompatibleFunctionArgsImpl
 
struct  CompatibleFunctionArgsImpl< Ret(FuncArgs...), Args... >
 
struct  DebugTimeHelper
 
struct  FormatterImpl
 
struct  FormatterImpl< Aggregate >
 
struct  FormatterImpl< Enum >
 
struct  MemoryIOCompat
 
struct  MemoryIOCompatImpl
 
struct  MemoryIOCompatImpl< std::string, U * >
 
struct  MemoryIOCompatImpl< std::string_view, U * >
 
struct  MemoryIOCompatImpl< std::uintptr_t, U * >
 
struct  RegisterBaseImpl
 CRTP (or is it CRTTP in this case?) is used to pass an arch alternative. See gh#21 for details. More...
 
struct  RegisterBaseImpl< Derived, BaseType, Arch >
 

Concepts

concept  CharLike
 

Typedefs

using sized_uint_map = mp::mp_list<u8, std::uint16_t, std::uint32_t, std::uint64_t>
 
using sized_int_map = mp::mp_list<i8, std::int16_t, std::int32_t, std::int64_t>
 
template<std::size_t I>
using sized_int_impl = mp::mp_at<sized_int_map, mp::mp_int<I>>
 
template<std::size_t I>
using sized_uint_impl = mp::mp_at<sized_uint_map, mp::mp_int<I>>
 

Functions

template<typename Enum >
requires (std::is_enum_v<Enum> && boost::describe::has_describe_enumerators<Enum>::value)
constexpr std::optional< const char * > enum_to_string (Enum enumerator)
 
template<typename Ret , typename Func , typename T , typename... Ts>
constexpr Ret tuple_find_first_impl (Func &&pred, const T &val, const Ts &... rest)
 
template<typename T >
ByteVector reinterpret_raw (const T &data)
 
template<typename T >
const T * reinterpret_raw (const std::vector< std::byte > &data)
 
template<typename T >
ByteVector reinterpret_raw_each (const T &range)
 

Typedef Documentation

◆ sized_int_impl

template<std::size_t I>
using asmgrader::detail::sized_int_impl = mp::mp_at<sized_int_map, mp::mp_int<I>>

◆ sized_int_map

using asmgrader::detail::sized_int_map = mp::mp_list<i8, std::int16_t, std::int32_t, std::int64_t>

◆ sized_uint_impl

template<std::size_t I>
using asmgrader::detail::sized_uint_impl = mp::mp_at<sized_uint_map, mp::mp_int<I>>

◆ sized_uint_map

using asmgrader::detail::sized_uint_map = mp::mp_list<u8, std::uint16_t, std::uint32_t, std::uint64_t>

Function Documentation

◆ enum_to_string()

template<typename Enum >
requires (std::is_enum_v<Enum> && boost::describe::has_describe_enumerators<Enum>::value)
std::optional< const char * > asmgrader::detail::enum_to_string ( Enum enumerator)
constexpr

◆ reinterpret_raw() [1/2]

template<typename T >
const T * asmgrader::detail::reinterpret_raw ( const std::vector< std::byte > & data)

◆ reinterpret_raw() [2/2]

template<typename T >
ByteVector asmgrader::detail::reinterpret_raw ( const T & data)

◆ reinterpret_raw_each()

template<typename T >
ByteVector asmgrader::detail::reinterpret_raw_each ( const T & range)

◆ tuple_find_first_impl()

template<typename Ret , typename Func , typename T , typename... Ts>
Ret asmgrader::detail::tuple_find_first_impl ( Func && pred,
const T & val,
const Ts &... rest )
constexpr