| ►Nasmgrader | |
| ►Ndetail | |
| CAggregateFormatter | |
| CCompatibleFunctionArgsImpl | |
| CCompatibleFunctionArgsImpl< Ret(FuncArgs...), Args... > | |
| CDebugTimeHelper | |
| CEnumFormatter | |
| CFormatterImpl | |
| Cmaybe_static_to_impl | |
| Cmaybe_static_to_impl< Container > | |
| CMemoryIOCompat | |
| CMemoryIOCompatImpl | |
| CMemoryIOCompatImpl< std::string, U * > | |
| CMemoryIOCompatImpl< std::string_view, U * > | |
| CMemoryIOCompatImpl< std::uintptr_t, U * > | |
| Cpartial_bytearray_spec | |
| CRegisterBaseImpl | CRTP (or is it CRTTP in this case?) is used to pass an arch alternative. See gh#21 for details |
| CRegisterBaseImpl< Derived, BaseType, Arch > | |
| CUnwrapInnerOr | |
| CUnwrapInnerOr< T > | |
| ►Nexprs | Types and other utilities for representing expressions used in REQUIRE* statements |
| ►Ndetail | |
| CMapKeyT | |
| ►CExpressionRepr | Representation of an expression with all components stringized |
| COperator | The str field is the representation of the operator (e.g., '+', '!=') |
| CRepr | |
| CValue | |
| CNAryOp | |
| ►Nhighlight | |
| ►COptions | |
| COpt | |
| ►Ninspection | |
| ►Ntokenize | Recursive descent parser implementation details |
| CCaseInsensitiveTag | |
| ►CStream | |
| CStreamContext | Primarily used to support Token::Kind::Grouping |
| CParsingError | Bad or invalid parse exception type. May indicate an implementation bug, or just an invalid expression |
| CToken | Token of a very basic C++ expression. The primary use case is for rudemtary console syntax coloring |
| CTokenizer | |
| ►Nlinux | |
| CFork | |
| CPipe | |
| CSignal | Value type to behave as a linux signal |
| ►Nmetadata | |
| ►Ndetail | |
| ►Nmeta | |
| CMergeUnqImpl | |
| CMergeUnqImpl< Orig > | |
| CMergeUnqImpl< Orig, First, New... > | |
| CAssignment | |
| CMetadata | |
| CProfOnlyTag | |
| CWeight | |
| ►Nstringize | For everything related to test requirement stringification |
| ►Ndetail | |
| CReprFn | |
| CStrFn | str function dispatcher |
| CStringizeResult | Result type of a call to str or repr |
| CAarch64FlagsBase | Derived classes should use Aarch64FlagsBase with the CRTP pattern |
| Calways_false | Very simple type for better semantics when we want static_assert(false) to work inside primary class templates |
| CApp | |
| CAsmBuffer | |
| CAsmData | |
| CAsmFunction | |
| CAsmFunction< Ret(Args...)> | |
| CAsmFunctionResult | Transparent wrapper around Result<Ret>, as far as the user is concerned |
| CAsmSymbol | |
| CAsmSymbolResult | Transparent wrapper around Result<T>, as far as the user is concerned |
| CAssignment | Declaration for the logic and data encapsulating a class assignment |
| CAssignmentFileSearcher | |
| CAssignmentResult | |
| CAssignmentTestRunner | Manages test execution and result aggregation for a specific assignment |
| CByte | More user-friendly interface wrapper for a byte-like integral |
| CByteArray | |
| CByteVector | |
| CCommandLineArgs | Just a wrapper around argparse for now |
| CCompilerInfo | |
| CContextInternalError | Error for any internal failure conditions of TestContext |
| Ccount_if | |
| Ccount_if_not | |
| CDatabaseReader | 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 |
| CDebugFormatter | |
| CDecomposedExpr | Stores references to rhs and lhs of a comparison expression, serving as an interface to the "decomposed" expression |
| CDecomposer | 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" |
| CElfReader | Adaptor to (a few) libelf functions |
| CExpected | Std::variant wrapper for a partial implementation of C++23's expected type |
| CFileSearcher | |
| CFlagsRegister | |
| CFloatingPointRegister | |
| CFunctionTraits | |
| ►CFunctionTraits< FuncRet(FuncArgs...)> | |
| CArg | |
| CGlobalRegistrar | A global singleton registrar. Used with Assignments for now |
| CIntRegister | General Purpose Register |
| CMemoryIOBase | 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 |
| CMemoryIOSerde | Example class implementation: |
| CMemoryIOSerde< NativeByteVector > | |
| CMemoryIOSerde< NonTermString< Length > > | |
| CMemoryIOSerde< std::string > | |
| CMemoryIOSerde< T > | |
| CMultiStudentResult | |
| CMultiStudentRunner | |
| CNonCopyable | A trivially-movable, but non-copyable type |
| CNonMovable | A non-movable and non-copyable type |
| CNonTermString | |
| COverloaded | |
| Cpair | |
| CPlainTextSerializer | |
| CProfessorApp | |
| CProgram | |
| CProgramOptions | |
| CPtraceMemoryIO | TraceeMemory implemented using ptrace(2) commands |
| CRegistersState | |
| Cremove_all_pointers | Removes all levels of pointers on a type |
| Cremove_all_pointers< T * > | Removes all levels of pointers on a type |
| CRequirement | |
| ►CRequirementResult | |
| CDebugInfo | |
| CRunMetadata | |
| CRunResult | |
| CSerializer | |
| CSink | |
| CStaticString | A fully compile-time capable string type Guaranteed to be null-terminated |
| CStdoutSink | |
| CStudentApp | |
| CStudentInfo | |
| CStudentResult | |
| CSubprocess | |
| CSymbol | Basic definition for a symbol found in an ELF file |
| CSymbolTable | A basic symbol table, for simple interaction with a number of symbols loaded from an ELF file |
| ►CSyscallEntry | |
| CParam | |
| CSyscallRecord | Record of a syscall for use with Tracer to keep track of which syscalls a child process invokes |
| CTestAutoRegistrar | Helper class that, whem constructed, automatically constructs and registers a test |
| CTestBase | Base class primarily for a user-written test |
| CTestContext | 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 |
| CTestResult | |
| Cto_array_like_fn | |
| Cto_static_container_fn | Range adaptor function to convert a range to a static (sized at compile time) container, like std::array, std::tuple, etc |
| CTracedSubprocess | A subprocess managed by a tracer |
| CTracedWaitid | |
| CTracer | A lightweight wrapper of ptrace(2) |
| CUnexpectedT | |
| CX64FlagsBase | Derived classes should use Aarch64FlagsBase with the CRTP pattern |
| ►Nfmt | |
| Cformatter< std::error_code > | Output formatter for make_error_code |
| Cformatter< std::exception > | |
| Cformatter< std::filesystem::path > | |
| Cformatter< std::optional< T > > | |
| Cformatter< std::source_location > | |
| Cformatter< std::timespec > | |
| Cformatter< std::variant< Ts... > > | |
| Cformatter< T > | Formatter specialization for anything supported by FormatterImpl |
| Cformatter<::asmgrader::AsmFunctionResult< Ret, Ts... > > | |
| Cformatter<::asmgrader::Byte > | |
| Cformatter<::asmgrader::ContextInternalError > | |
| Cformatter<::asmgrader::Expected< T, E > > | |
| Cformatter<::asmgrader::FlagsRegister< Arch > > | |
| Cformatter<::asmgrader::FloatingPointRegister< Arch > > | |
| Cformatter<::asmgrader::IntRegister< Arch > > | |
| Cformatter<::asmgrader::ProgramOptions > | |
| Cformatter<::asmgrader::PtraceEvent > | |
| Cformatter<::asmgrader::Symbol > | |
| Cformatter<::asmgrader::SyscallRecord > | |
| Cformatter<::asmgrader::TracedWaitid > | |
| Cis_range< asmgrader::StaticString< N >, CharType > | |
| Cis_tuple_like< asmgrader::StaticString< N > > | |
| ►Nstd | |
| Ctuple_element< I, ::asmgrader::NativeByteArray< N > > | Specialization of tuple_element to play nice with algorithms that work on tuple-like types |
| Ctuple_element< I, ::asmgrader::StaticString< Size > > | Specialization of tuple_element to play nice with algorithms that work on tuple-like types |
| Ctuple_size<::asmgrader::NativeByteArray< Size > > | Specialization of tuple_size to play nice with algorithms that work on tuple-like types |
| Ctuple_size<::asmgrader::StaticString< Size > > | Specialization of tuple_size to play nice with algorithms that work on tuple-like types |
| Cfmt_appender_wrapper | |