| Casmgrader::Aarch64FlagsBase< Base > | Derived classes should use Aarch64FlagsBase with the CRTP pattern |
| Casmgrader::detail::AggregateFormatter< Aggregate, AggregateName, Fields > | |
| Casmgrader::FunctionTraits< FuncRet(FuncArgs...)>::Arg< I > | |
| ►Casmgrader::AsmData< T > | |
| Casmgrader::AsmSymbol< T > | |
| ►Casmgrader::AsmData< NativeByteArray< NumBytes > > | |
| Casmgrader::AsmBuffer< NumBytes > | |
| Casmgrader::AsmFunction< T > | |
| Casmgrader::AsmFunction< Ret(Args...)> | |
| Casmgrader::metadata::Assignment | |
| Casmgrader::AssignmentResult | |
| Casmgrader::AssignmentTestRunner | Manages test execution and result aggregation for a specific assignment |
| Casmgrader::Byte | More user-friendly interface wrapper for a byte-like integral |
| Casmgrader::ByteArray< Size, Endianness > | |
| Casmgrader::ByteVector< Endianness > | |
| Casmgrader::inspection::tokenize::CaseInsensitiveTag | |
| Casmgrader::CommandLineArgs | Just a wrapper around argparse for now |
| Casmgrader::detail::CompatibleFunctionArgsImpl< Func, Args > | |
| Casmgrader::detail::CompatibleFunctionArgsImpl< Ret(FuncArgs...), Args... > | |
| Casmgrader::CompilerInfo | |
| Casmgrader::count_if< Cond, Ts > | |
| Casmgrader::count_if_not< Cond, Ts > | |
| Casmgrader::DatabaseReader | Small CSV reader implementation for student names database Expects the specified file to contain a list of newline-seperated "lastname,firstname" entries, utf-8 encoded |
| ►Casmgrader::DebugFormatter | |
| Cfmt::formatter< T > | Formatter specialization for anything supported by FormatterImpl |
| Cfmt::formatter< std::error_code > | Output formatter for make_error_code |
| Cfmt::formatter< std::optional< T > > | |
| Cfmt::formatter< std::variant< Ts... > > | |
| Cfmt::formatter<::asmgrader::Byte > | |
| Cfmt::formatter<::asmgrader::ContextInternalError > | |
| Cfmt::formatter<::asmgrader::Expected< T, E > > | |
| Cfmt::formatter<::asmgrader::FlagsRegister< Arch > > | |
| Cfmt::formatter<::asmgrader::FloatingPointRegister< Arch > > | |
| Cfmt::formatter<::asmgrader::IntRegister< Arch > > | |
| Cfmt::formatter<::asmgrader::ProgramOptions > | |
| Cfmt::formatter<::asmgrader::PtraceEvent > | |
| Cfmt::formatter<::asmgrader::SyscallRecord > | |
| Cfmt::formatter<::asmgrader::TracedWaitid > | |
| Casmgrader::RequirementResult::DebugInfo | |
| Casmgrader::Decomposer | Just a tag type for operator overloading purposes Intended use is on the lhs of operator<= e.g. Decomposer{} <= a < b + 1 Decomposes the expression "a < b + 1" into the subexpressions "a" and "b + 1" |
| Casmgrader::ElfReader | Adaptor to (a few) libelf functions |
| Casmgrader::detail::EnumFormatter< Enum, EnumName, Enumerators > | |
| ►Cstd::exception | |
| Casmgrader::inspection::ParsingError | Bad or invalid parse exception type. May indicate an implementation bug, or just an invalid expression |
| ►Casmgrader::Expected< T, E > | Std::variant wrapper for a partial implementation of C++23's expected type |
| Casmgrader::AsmFunctionResult< Ret, Args > | Transparent wrapper around Result<Ret>, as far as the user is concerned |
| Casmgrader::AsmSymbolResult< T > | Transparent wrapper around Result<T>, as far as the user is concerned |
| Casmgrader::exprs::ExpressionRepr | Representation of an expression with all components stringized |
| ►Cstd::false_type | |
| Casmgrader::always_false< T > | Very simple type for better semantics when we want static_assert(false) to work inside primary class templates |
| Casmgrader::detail::MemoryIOCompatImpl< T, U > | |
| Cfmt::is_range< asmgrader::StaticString< N >, CharType > | |
| Cfmt::is_tuple_like< asmgrader::StaticString< N > > | |
| ►Casmgrader::FileSearcher | |
| Casmgrader::AssignmentFileSearcher | |
| ►CFlagsArchBase | |
| Casmgrader::FlagsRegister< ProcessorKind::Aarch64 > | |
| Casmgrader::FlagsRegister< ProcessorKind::x86_64 > | |
| Casmgrader::FlagsRegister< Arch > | |
| ►CFlagsArchBaseAlternative | |
| Casmgrader::FlagsRegister< ProcessorKind::Aarch64 > | |
| Casmgrader::FlagsRegister< ProcessorKind::x86_64 > | |
| Casmgrader::FlagsRegister< Arch > | |
| Cfmt_appender_wrapper< CharType > | |
| Casmgrader::linux::Fork | |
| ►Cformatter | |
| Cfmt::formatter< std::exception > | |
| Cfmt::formatter< std::filesystem::path > | |
| Cfmt::formatter< std::source_location > | |
| Cfmt::formatter< std::timespec > | |
| Cfmt::formatter<::asmgrader::AsmFunctionResult< Ret, Ts... > > | |
| Cfmt::formatter<::asmgrader::Symbol > | |
| Casmgrader::detail::FormatterImpl< T, Enable > | |
| Casmgrader::FunctionTraits< Func > | |
| Casmgrader::FunctionTraits< FuncRet(FuncArgs...)> | |
| Casmgrader::GlobalRegistrar | A global singleton registrar. Used with Assignments for now |
| ►Cstd::integral_constant | |
| Cstd::tuple_size<::asmgrader::NativeByteArray< Size > > | Specialization of tuple_size to play nice with algorithms that work on tuple-like types |
| Cstd::tuple_size<::asmgrader::StaticString< Size > > | Specialization of tuple_size to play nice with algorithms that work on tuple-like types |
| Casmgrader::exprs::detail::MapKeyT< Str > | |
| Casmgrader::detail::maybe_static_to_impl< Container > | |
| Casmgrader::detail::maybe_static_to_impl< Container > | |
| ►Casmgrader::MemoryIOBase | Base class for interacting with a tracee's memory in a variety of ways at a (relatively) high-level Functionally a data pipeline between the tracer and tracee |
| Casmgrader::PtraceMemoryIO | TraceeMemory implemented using ptrace(2) commands |
| Casmgrader::detail::MemoryIOCompat< T, U > | |
| Casmgrader::MemoryIOSerde< T > | Example class implementation: |
| Casmgrader::MemoryIOSerde< NativeByteVector > | |
| Casmgrader::MemoryIOSerde< NonTermString< Length > > | |
| Casmgrader::MemoryIOSerde< std::string > | |
| Casmgrader::MemoryIOSerde< T > | |
| Casmgrader::metadata::detail::meta::MergeUnqImpl< Orig, New > | |
| Casmgrader::metadata::detail::meta::MergeUnqImpl< Orig > | |
| Casmgrader::metadata::detail::meta::MergeUnqImpl< Orig, First, New... > | |
| Casmgrader::metadata::Metadata< MetadataTypes > | |
| Casmgrader::MultiStudentResult | |
| Casmgrader::MultiStudentRunner | |
| Casmgrader::exprs::NAryOp< OpFn, Rep, Args > | |
| ►Casmgrader::NonCopyable | A trivially-movable, but non-copyable type |
| ►Casmgrader::App | |
| Casmgrader::ProfessorApp | |
| Casmgrader::StudentApp | |
| Casmgrader::Assignment | Declaration for the logic and data encapsulating a class assignment |
| ►Casmgrader::NonMovable | A non-movable and non-copyable type |
| Casmgrader::DecomposedExpr< Op, Types > | Stores references to rhs and lhs of a comparison expression, serving as an interface to the "decomposed" expression |
| Casmgrader::detail::DebugTimeHelper | |
| Casmgrader::Program | |
| ►Casmgrader::Serializer | |
| Casmgrader::PlainTextSerializer | |
| ►Casmgrader::Subprocess | |
| Casmgrader::TracedSubprocess | A subprocess managed by a tracer |
| Casmgrader::NonTermString< Length > | |
| Casmgrader::exprs::ExpressionRepr::Operator | The str field is the representation of the operator (e.g., '+', '!=') |
| Casmgrader::highlight::Options::Opt | |
| Casmgrader::highlight::Options | |
| Casmgrader::pair< T1, T2 > | |
| Casmgrader::SyscallEntry::Param | |
| Casmgrader::detail::partial_bytearray_spec< SizedTo, Size > | |
| Casmgrader::linux::Pipe | |
| Casmgrader::metadata::ProfOnlyTag | |
| Casmgrader::ProgramOptions | |
| Casmgrader::detail::RegisterBaseImpl< Derived, BaseType, Arch > | CRTP (or is it CRTTP in this case?) is used to pass an arch alternative. See gh#21 for details |
| Casmgrader::detail::RegisterBaseImpl< Derived, BaseType, Arch > | |
| ►Casmgrader::detail::RegisterBaseImpl< FlagsRegister, u64, Arch > | |
| Casmgrader::FlagsRegister< ProcessorKind::Aarch64 > | |
| Casmgrader::FlagsRegister< ProcessorKind::x86_64 > | |
| ►Casmgrader::detail::RegisterBaseImpl< FlagsRegister, u64, SYSTEM_PROCESSOR > | |
| Casmgrader::FlagsRegister< Arch > | |
| ►Casmgrader::detail::RegisterBaseImpl< FloatingPointRegister, u128, SYSTEM_PROCESSOR > | |
| Casmgrader::FloatingPointRegister< Arch > | |
| ►Casmgrader::detail::RegisterBaseImpl< IntRegister, u64, Arch > | |
| Casmgrader::IntRegister< ProcessorKind::Aarch64 > | |
| Casmgrader::IntRegister< ProcessorKind::x86_64 > | |
| ►Casmgrader::detail::RegisterBaseImpl< IntRegister, u64, SYSTEM_PROCESSOR > | |
| Casmgrader::IntRegister< Arch > | General Purpose Register |
| Casmgrader::RegistersState | |
| Casmgrader::remove_all_pointers< T > | Removes all levels of pointers on a type |
| Casmgrader::remove_all_pointers< T * > | Removes all levels of pointers on a type |
| Casmgrader::exprs::ExpressionRepr::Repr | |
| Casmgrader::stringize::detail::ReprFn | |
| Casmgrader::Requirement< Op > | |
| Casmgrader::RequirementResult | |
| Casmgrader::RunMetadata | |
| Casmgrader::RunResult | |
| ►Cstd::runtime_error | |
| Casmgrader::ContextInternalError | Error for any internal failure conditions of TestContext |
| Casmgrader::linux::Signal | Value type to behave as a linux signal |
| ►Casmgrader::Sink | |
| Casmgrader::StdoutSink | |
| Casmgrader::StaticString< Size > | A fully compile-time capable string type Guaranteed to be null-terminated |
| Casmgrader::inspection::tokenize::Stream | |
| Casmgrader::inspection::tokenize::Stream::StreamContext | Primarily used to support Token::Kind::Grouping |
| Casmgrader::stringize::detail::StrFn | str function dispatcher |
| Casmgrader::stringize::StringizeResult | Result type of a call to str or repr |
| Casmgrader::StudentInfo | |
| Casmgrader::StudentResult | |
| Casmgrader::Symbol | Basic definition for a symbol found in an ELF file |
| Casmgrader::SymbolTable | A basic symbol table, for simple interaction with a number of symbols loaded from an ELF file |
| Casmgrader::SyscallEntry | |
| Casmgrader::SyscallRecord | Record of a syscall for use with Tracer to keep track of which syscalls a child process invokes |
| Casmgrader::TestAutoRegistrar< TestClass > | Helper class that, whem constructed, automatically constructs and registers a test |
| Casmgrader::TestBase | Base class primarily for a user-written test |
| Casmgrader::TestContext | User-facing API for use within an assignment test case for: Interacting with or querying data for the student's assembled binary Test result collection (requirements, pass/fail cases) Performing any other esoteric test-related action |
| Casmgrader::TestResult | |
| Casmgrader::to_array_like_fn< N, ArrayLike > | |
| Casmgrader::to_static_container_fn< Container > | Range adaptor function to convert a range to a static (sized at compile time) container, like std::array, std::tuple, etc |
| Casmgrader::inspection::Token | Token of a very basic C++ expression. The primary use case is for rudemtary console syntax coloring |
| Casmgrader::inspection::Tokenizer< MaxNumTokens > | |
| Casmgrader::TracedWaitid | |
| Casmgrader::Tracer | A lightweight wrapper of ptrace(2) |
| ►Cstd::true_type | |
| Casmgrader::detail::MemoryIOCompatImpl< std::string, U * > | |
| Casmgrader::detail::MemoryIOCompatImpl< std::string_view, U * > | |
| Casmgrader::detail::MemoryIOCompatImpl< std::uintptr_t, U * > | |
| ►CTs... | |
| Casmgrader::Overloaded< Ts > | |
| Cstd::tuple_element< I, ::asmgrader::NativeByteArray< N > > | Specialization of tuple_element to play nice with algorithms that work on tuple-like types |
| Cstd::tuple_element< I, ::asmgrader::StaticString< Size > > | Specialization of tuple_element to play nice with algorithms that work on tuple-like types |
| Casmgrader::UnexpectedT | |
| Casmgrader::detail::UnwrapInnerOr< T > | |
| Casmgrader::detail::UnwrapInnerOr< T > | |
| Casmgrader::exprs::ExpressionRepr::Value | |
| Casmgrader::metadata::Weight | |
| Casmgrader::X64FlagsBase< Base > | Derived classes should use Aarch64FlagsBase with the CRTP pattern |