![]() |
Low-Level Abstraction of Memory Access
|
#include "Meta.hpp"
#include "macros.hpp"
#include <array>
#include <ostream>
#include <type_traits>
Go to the source code of this file.
Classes | |
struct | llama::RecordCoord< Coords > |
struct | llama::RecordCoord<> |
Namespaces | |
llama | |
llama::literals | |
llama::internal | |
Typedefs | |
template<typename L > | |
using | llama::RecordCoordFromList = internal::mp_unwrap_values_into< L, RecordCoord > |
Converts a type list of integral constants into a RecordCoord. More... | |
template<typename... RecordCoords> | |
using | llama::Cat = RecordCoordFromList< mp_append< typename RecordCoords::List... > > |
Concatenate a set of RecordCoords. More... | |
template<typename RecordCoord > | |
using | llama::PopFront = RecordCoordFromList< mp_pop_front< typename RecordCoord::List > > |
RecordCoord without first coordinate component. More... | |
Functions | |
template<std::size_t... CoordsA, std::size_t... CoordsB> | |
constexpr auto | llama::operator== (RecordCoord< CoordsA... >, RecordCoord< CoordsB... >) |
template<std::size_t... Coords> | |
constexpr auto | llama::operator== (RecordCoord< Coords... >, RecordCoord< Coords... >) |
template<std::size_t... CoordsA, std::size_t... CoordsB> | |
constexpr auto | llama::operator!= (RecordCoord< CoordsA... > a, RecordCoord< CoordsB... > b) |
template<std::size_t... RCs> | |
auto | llama::operator<< (std::ostream &os, RecordCoord< RCs... >) -> std::ostream & |
template<char... Digits> | |
constexpr auto | llama::literals::operator""_RC () |
Literal operator for converting a numeric literal into a RecordCoord. More... | |
template<typename... RecordCoords> | |
constexpr auto | llama::cat (RecordCoords...) |
Concatenate a set of RecordCoords instances. More... | |
template<std::size_t... Coords1, std::size_t... Coords2> | |
constexpr auto | llama::internal::recordCoordCommonPrefixIsBiggerImpl (RecordCoord< Coords1... >, RecordCoord< Coords2... >) -> bool |
template<std::size_t... Coords1, std::size_t... Coords2> | |
constexpr auto | llama::internal::recordCoordCommonPrefixIsSameImpl (RecordCoord< Coords1... >, RecordCoord< Coords2... >) -> bool |
Variables | |
template<typename T > | |
constexpr bool | llama::isRecordCoord = false |
template<std::size_t... Coords> | |
constexpr bool | llama::isRecordCoord< RecordCoord< Coords... > > = true |
template<typename First , typename Second > | |
constexpr auto | llama::recordCoordCommonPrefixIsBigger = internal::recordCoordCommonPrefixIsBiggerImpl(First{}, Second{}) |
Checks wether the first RecordCoord is bigger than the second. More... | |
template<typename First , typename Second > | |
constexpr auto | llama::recordCoordCommonPrefixIsSame = internal::recordCoordCommonPrefixIsSameImpl(First{}, Second{}) |
Checks whether two RecordCoords are the same or one is the prefix of the other. More... | |