SeqAn3
3.0.3
The Modern C++ library for sequence analysis.
charconv_pre.hpp
1
// -----------------------------------------------------------------------------------------------------
2
// Copyright (c) 2006-2021, Knut Reinert & Freie Universität Berlin
3
// Copyright (c) 2016-2021, 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
;
29
using
std::numeric_limits
;
30
using
std::is_integral
;
31
using
std::is_unsigned
;
32
using
std::is_signed
;
33
using
std::make_unsigned_t
;
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
cassert
std::declval
T declval(T... args)
std::enable_if_t
std::errc
std::true_type
std::is_integral
std::is_signed
std::is_unsigned
limits
std::make_unsigned_t
std::numeric_limits
system_error
seqan3
contrib
charconv
charconv_pre.hpp
Generated on Fri May 28 2021 11:21:00 for SeqAn3 by
1.9.1