#include "is_within_limits.hpp"#include "type_identity.hpp"#include "valid_if/nonnegative.hpp"#include <cassert>#include <cstdint>#include <limits>#include <type_traits>Go to the source code of this file.
Namespaces | |
| eagine | |
| Common code is placed in this namespace. | |
Typedefs | |
| using | eagine::byte = unsigned char |
| Byte type alias. | |
| using | eagine::std_align_t = std::size_t |
| Alignment type used by std. | |
| using | eagine::std_size_t = std::size_t |
| Size type used by std. | |
| using | eagine::span_size_t = std::ptrdiff_t |
| Signed span size type used by eagine. | |
| using | eagine::valid_span_size = valid_if_nonnegative< span_size_t > |
| Valid size type. | |
Functions | |
| template<typename T , typename = std::enable_if_t<std::is_integral_v<T>>> | |
| static constexpr auto | eagine::std_align (T v) noexcept |
| Converts argument to std alignment type. | |
| template<typename T , typename = std::enable_if_t<std::is_integral_v<T>>> | |
| static constexpr auto | eagine::std_size (T v) noexcept |
| Converts argument to std size type. | |
| template<typename T , typename = std::enable_if_t<std::is_integral_v<T>>> | |
| static constexpr auto | eagine::span_size (T v) noexcept |
| Converts argument to span size type. | |
| template<typename T > | |
| static constexpr auto | eagine::span_align_of (type_identity< T >={}) noexcept |
| Returns the byte alignment of type T as span_size_t. | |
| template<typename T > | |
| static constexpr auto | eagine::span_size_of (type_identity< T >={}) noexcept |
| Returns the byte size of type T as span_size_t. | |
| template<typename T , typename S > | |
| static constexpr auto | eagine::span_size_of (S n, type_identity< T >={}) noexcept |
| Returns the total byte size of n elements of type T as span_size_t. | |
Copyright Matus Chochlik. Distributed under the Boost Software License, Version 1.0. See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt