SeqAn3  3.0.2
The Modern C++ library for sequence analysis.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
charconv_pre.hpp
1 // -----------------------------------------------------------------------------------------------------
2 // Copyright (c) 2006-2020, Knut Reinert & Freie Universität Berlin
3 // Copyright (c) 2016-2020, Knut Reinert & MPI für molekulare Genetik
4 // This file may be used, modified and/or redistributed under the terms of the 3-clause BSD-License
5 // shipped with this file and also available at: https://github.com/seqan/seqan3/blob/master/LICENSE.md
6 // -----------------------------------------------------------------------------------------------------
7 
8 #pragma once
9 
10 #include <cassert>
11 #include <system_error>
12 #include <limits>
13 
14 #define SEQAN3_CONTRIB_CHARCONV_LIBCPP_BEGIN_NAMESPACE_STD namespace seqan3::contrib::charconv {
15 #define SEQAN3_CONTRIB_CHARCONV_LIBCPP_END_NAMESPACE_STD }
16 #define SEQAN3_CONTRIB_CHARCONV_LIBCPP_STD_VER 17
17 #define SEQAN3_CONTRIB_CHARCONV_LIBCPP_FUNC_VIS
18 #define SEQAN3_CONTRIB_CHARCONV_LIBCPP_ENUM_VIS
19 #define SEQAN3_CONTRIB_CHARCONV_LIBCPP_TYPE_VIS
20 #define SEQAN3_CONTRIB_CHARCONV_LIBCPP_HIDDEN
21 #define SEQAN3_CONTRIB_CHARCONV_LIBCPP_INLINE_VISIBILITY
22 #define SEQAN3_CONTRIB_CHARCONV_LIBCPP_ASSERT(condition, message) assert(condition)
23 
24 // import things from std namespace which charconv uses
25 namespace seqan3::contrib::charconv
26 {
27 using std::errc;
28 using std::declval;
30 using std::is_integral;
31 using std::is_unsigned;
32 using std::is_signed;
34 using std::true_type;
35 using std::false_type;
36 using std::enable_if_t;
37 
38 // forward declare
39 struct SEQAN3_CONTRIB_CHARCONV_LIBCPP_TYPE_VIS to_chars_result;
40 
41 // forward declare to avoid "no matching function for call to
42 // ‘__to_chars_itoa(char*&, char*&, short unsigned int&, std::false_type)’"
43 template <typename _Tp>
44 inline SEQAN3_CONTRIB_CHARCONV_LIBCPP_INLINE_VISIBILITY to_chars_result
45 __to_chars_itoa(char* __first, char* __last, _Tp __value, false_type);
46 
47 } // namespace seqan3::contrib::charconv
std::is_signed
std::true_type
std::is_unsigned
system_error
std::enable_if_t
std::errc
std::is_integral
limits
cassert
std::numeric_limits
std::declval
T declval(T... args)
std::make_unsigned_t