#include "assert.hpp"
#include "diagnostic.hpp"
#include "int_constant.hpp"
#include "valid_if/decl.hpp"
#include <cstdint>
#include <limits>
#include <type_traits>
#include <utility>
Go to the source code of this file.
Namespaces | |
eagine | |
Common code is placed in this namespace. | |
Functions | |
template<typename Dst , typename Src > | |
static constexpr auto | eagine::is_within_limits (Src value) noexcept |
Indicates if value fits into the specified Dst type. More... | |
template<typename Dst , typename Src > | |
static constexpr auto | eagine::limit_cast (Src value) noexcept -> std::enable_if_t< std::is_convertible_v< Src, Dst >, Dst > |
Casts value to Dst type if the value fits in that type. More... | |
template<typename Dst , typename Src > | |
static constexpr auto | eagine::convert_if_fits (Src value) noexcept -> std::enable_if_t< std::is_convertible_v< Src, Dst >, optionally_valid< Dst >> |
Optionally converts value to Dst type if the value fits in that type. More... | |
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