mimic++ v9.2.1
Loading...
Searching...
No Matches
C++26Backports.hpp
Go to the documentation of this file.
1// Copyright Dominic (DNKpp) Koepke 2024 - 2025.
2// Distributed under the Boost Software License, Version 1.0.
3// (See accompanying file LICENSE_1_0.txt or copy at
4// https://www.boost.org/LICENSE_1_0.txt)
5
6#ifndef MIMICPP_UTILITIES_CXX26_BACKPORTS_HPP
7#define MIMICPP_UTILITIES_CXX26_BACKPORTS_HPP
8
9#pragma once
10
12
13#ifndef MIMICPP_DETAIL_IS_MODULE
14 #include <concepts>
15 #include <iterator>
16 #include <type_traits>
17 #include <version>
18#endif
19
21{
30 template <std::indirectly_readable I, std::indirectly_regular_unary_invocable<I> Projection>
31 using projected_value_t = std::remove_cvref_t<
32 std::invoke_result_t<Projection&, std::iter_value_t<I>&>>;
33}
34
35#endif
#define MIMICPP_DETAIL_MODULE_EXPORT
Definition Config.hpp:19
Definition Fwd.hpp:445
std::remove_cvref_t< std::invoke_result_t< Projection &, std::iter_value_t< I > & > > projected_value_t
The alias template projected_value_t obtains the value type by stripping any reference and its topmos...
Definition C++26Backports.hpp:31