AsmGrader 0.0.0
Loading...
Searching...
No Matches
byte_array.hpp File Reference
#include <asmgrader/common/byte.hpp>
#include <asmgrader/common/os.hpp>
#include <asmgrader/meta/static_size.hpp>
#include <gsl/assert>
#include <libassert/assert.hpp>
#include <range/v3/algorithm/copy.hpp>
#include <range/v3/algorithm/transform.hpp>
#include <range/v3/iterator/traits.hpp>
#include <range/v3/range/access.hpp>
#include <range/v3/range/concepts.hpp>
#include <range/v3/range/primitives.hpp>
#include <range/v3/range/traits.hpp>
#include <array>
#include <cstddef>
#include <memory>
#include <type_traits>
#include <utility>
Include dependency graph for byte_array.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  asmgrader::ByteArray< Size, Endianness >
 
struct  std::tuple_size<::asmgrader::NativeByteArray< Size > >
 Specialization of tuple_size to play nice with algorithms that work on tuple-like types. More...
 
struct  std::tuple_element< I, ::asmgrader::NativeByteArray< N > >
 Specialization of tuple_element to play nice with algorithms that work on tuple-like types. More...
 

Namespaces

namespace  asmgrader
 
namespace  std
 

Typedefs

template<std::size_t N>
using asmgrader::NativeByteArray = ByteArray<N, EndiannessKind::Native>
 

Functions

template<typename T , typename... U>
 asmgrader::ByteArray (T, U...) -> ByteArray< sizeof...(U)+1, EndiannessKind::Native >
 Deduction guide.
 
template<std::size_t I, std::size_t N>
requires (I < N)
constexpr ::asmgrader::Byteget (::asmgrader::NativeByteArray< N > &arr)
 Specialization of get to play nice with algorithms that work on tuple-like types.
 
template<std::size_t I, std::size_t N>
requires (I < N)
constexprconst ::asmgrader::Byteget (const ::asmgrader::NativeByteArray< N > &arr)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
template<std::size_t I, std::size_t N>
requires (I < N)
constexpr ::asmgrader::Byte && get (::asmgrader::NativeByteArray< N > &&arr)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
template<std::size_t I, std::size_t N>
requires (I < N)
constexprconst ::asmgrader::Byte && get (const ::asmgrader::NativeByteArray< N > &&arr)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 

Function Documentation

◆ get() [1/4]

template<std::size_t I, std::size_t N>
requires (I < N)
::asmgrader::Byte && get ( ::asmgrader::NativeByteArray< N > && arr)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ get() [2/4]

template<std::size_t I, std::size_t N>
requires (I < N)
::asmgrader::Byte & get ( ::asmgrader::NativeByteArray< N > & arr)

Specialization of get to play nice with algorithms that work on tuple-like types.

◆ get() [3/4]

template<std::size_t I, std::size_t N>
requires (I < N)
constexprconst ::asmgrader::Byte && get ( const ::asmgrader::NativeByteArray< N > && arr)
constexpr

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ get() [4/4]

template<std::size_t I, std::size_t N>
requires (I < N)
constexprconst ::asmgrader::Byte & get ( const ::asmgrader::NativeByteArray< N > & arr)
constexpr

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.