1#ifndef OSMIUM_UTIL_MISC_HPP
2#define OSMIUM_UTIL_MISC_HPP
50 template <
typename... Ts>
51 inline std::tuple<
const Ts&...>
53 return std::tuple<
const Ts&...>(args...);
69 template <
typename TReturn>
70 inline TReturn str_to_int(
const char* str) {
71 using r_type =
typename std::conditional<std::is_unsigned<TReturn>::value,
unsigned long long,
long long>
::type;
74 const auto value = std::strtoll(str, &
end, 10);
75 if (value < 0 || value == std::numeric_limits<long long>::max() ||
static_cast<r_type
>(value) >= std::numeric_limits<TReturn>::max() ||
end ==
nullptr || *
end !=
'\0') {
79 return static_cast<TReturn
>(value);
InputIterator< Reader > end(Reader &)
Definition: reader_iterator.hpp:47
type
Definition: entity_bits.hpp:63
Namespace for everything in the Osmium library.
Definition: assembler.hpp:53
std::tuple< const Ts &... > const_tie(const Ts &... args) noexcept
Definition: misc.hpp:52