Lines Matching refs:std
51 explicit file_input_adapter(std::FILE* f) noexcept
64 std::char_traits<char>::int_type get_character() noexcept
66 return std::fgetc(m_file);
71 std::FILE* m_file;
77 beginning of input. Does not support changing the underlying std::streambuf
78 in mid-input. Maintains underlying std::istream and std::streambuf to support
79 subsequent use of standard std::istream operations to process any input
81 std::istream flags; any input errors (e.g., EOF) will be detected by the first
82 subsequent call for input from the std::istream.
95 is->clear(is->rdstate() & std::ios::eofbit);
99 explicit input_stream_adapter(std::istream& i)
115 // std::istream/std::streambuf use std::char_traits<char>::to_int_type, to
116 // ensure that std::char_traits<char>::eof() and the character 0xFF do not
118 std::char_traits<char>::int_type get_character()
122 if (JSON_HEDLEY_UNLIKELY(res == std::char_traits<char>::eof()))
124 is->clear(is->rdstate() | std::ios::eofbit);
131 std::istream* is = nullptr;
132 std::streambuf* sb = nullptr;
142 using char_type = typename std::iterator_traits<IteratorType>::value_type;
145 : current(std::move(first)), end(std::move(last))
148 typename std::char_traits<char_type>::int_type get_character()
152 auto result = std::char_traits<char_type>::to_int_type(*current);
153 std::advance(current, 1);
157 return std::char_traits<char_type>::eof();
182 std::array<std::char_traits<char>::int_type, 4>& utf8_bytes,
190 utf8_bytes[0] = std::char_traits<char>::eof();
201 utf8_bytes[0] = static_cast<std::char_traits<char>::int_type>(wc);
206 utf8_bytes[0] = static_cast<std::char_traits<char>::int_type>(0xC0u | ((static_cast<unsigned int>(wc) >> 6u) & 0x1Fu));
207 utf8_bytes[1] = static_cast<std::char_traits<char>::int_type>(0x80u | (static_cast<unsigned int>(wc) & 0x3Fu));
212 utf8_bytes[0] = static_cast<std::char_traits<char>::int_type>(0xE0u | ((static_cast<unsigned int>(wc) >> 12u) & 0x0Fu));
213 utf8_bytes[1] = static_cast<std::char_traits<char>::int_type>(0x80u | ((static_cast<unsigned int>(wc) >> 6u) & 0x3Fu));
214 utf8_bytes[2] = static_cast<std::char_traits<char>::int_type>(0x80u | (static_cast<unsigned int>(wc) & 0x3Fu));
219 utf8_bytes[0] = static_cast<std::char_traits<char>::int_type>(0xF0u | ((static_cast<unsigned int>(wc) >> 18u) & 0x07u));
220 utf8_bytes[1] = static_cast<std::char_traits<char>::int_type>(0x80u | ((static_cast<unsigned int>(wc) >> 12u) & 0x3Fu));
221 utf8_bytes[2] = static_cast<std::char_traits<char>::int_type>(0x80u | ((static_cast<unsigned int>(wc) >> 6u) & 0x3Fu));
222 utf8_bytes[3] = static_cast<std::char_traits<char>::int_type>(0x80u | (static_cast<unsigned int>(wc) & 0x3Fu));
228 utf8_bytes[0] = static_cast<std::char_traits<char>::int_type>(wc);
240 std::array<std::char_traits<char>::int_type, 4>& utf8_bytes,
248 utf8_bytes[0] = std::char_traits<char>::eof();
259 utf8_bytes[0] = static_cast<std::char_traits<char>::int_type>(wc);
264 utf8_bytes[0] = static_cast<std::char_traits<char>::int_type>(0xC0u | ((static_cast<unsigned int>(wc) >> 6u)));
265 utf8_bytes[1] = static_cast<std::char_traits<char>::int_type>(0x80u | (static_cast<unsigned int>(wc) & 0x3Fu));
270 utf8_bytes[0] = static_cast<std::char_traits<char>::int_type>(0xE0u | ((static_cast<unsigned int>(wc) >> 12u)));
271 utf8_bytes[1] = static_cast<std::char_traits<char>::int_type>(0x80u | ((static_cast<unsigned int>(wc) >> 6u) & 0x3Fu));
272 utf8_bytes[2] = static_cast<std::char_traits<char>::int_type>(0x80u | (static_cast<unsigned int>(wc) & 0x3Fu));
281 utf8_bytes[0] = static_cast<std::char_traits<char>::int_type>(0xF0u | (charcode >> 18u));
282 utf8_bytes[1] = static_cast<std::char_traits<char>::int_type>(0x80u | ((charcode >> 12u) & 0x3Fu));
283 utf8_bytes[2] = static_cast<std::char_traits<char>::int_type>(0x80u | ((charcode >> 6u) & 0x3Fu));
284 utf8_bytes[3] = static_cast<std::char_traits<char>::int_type>(0x80u | (charcode & 0x3Fu));
289 utf8_bytes[0] = static_cast<std::char_traits<char>::int_type>(wc);
307 typename std::char_traits<char>::int_type get_character() noexcept
334 std::array<std::char_traits<char>::int_type, 4> utf8_bytes = {{0, 0, 0, 0}};
337 std::size_t utf8_bytes_index = 0;
339 std::size_t utf8_bytes_filled = 0;
347 using char_type = typename std::iterator_traits<iterator_type>::value_type;
352 return adapter_type(std::move(first), std::move(last));
359 using value_type = typename std::iterator_traits<T>::value_type;
370 using char_type = typename std::iterator_traits<iterator_type>::value_type;
376 return adapter_type(base_adapter_type(std::move(first), std::move(last)));
395 using std::begin;
396 using std::end;
403 void_t<decltype(begin(std::declval<ContainerType>()), end(std::declval<ContainerType>()))>>
405 using adapter_type = decltype(input_adapter(begin(std::declval<ContainerType>()), end(std::declval<ContainerType>())));
423 inline file_input_adapter input_adapter(std::FILE* file)
428 inline input_stream_adapter input_adapter(std::istream& stream)
433 inline input_stream_adapter input_adapter(std::istream&& stream)
439 using contiguous_bytes_input_adapter = decltype(input_adapter(std::declval<const char*>(), std::declval<const char*>()));
443 typename std::enable_if <
444 std::is_pointer<CharT>::value&&
445 !std::is_array<CharT>::value&&
446 std::is_integral<typename std::remove_pointer<CharT>::type>::value&&
447 sizeof(typename std::remove_pointer<CharT>::type) == 1,
451 auto length = std::strlen(reinterpret_cast<const char*>(b));
456 template<typename T, std::size_t N>
469 typename std::enable_if <
470 std::is_pointer<CharT>::value&&
471 std::is_integral<typename std::remove_pointer<CharT>::type>::value&&
472 sizeof(typename std::remove_pointer<CharT>::type) == 1,
474 span_input_adapter(CharT b, std::size_t l)
478 typename std::enable_if<
479 std::is_same<typename iterator_traits<IteratorType>::iterator_category, std::random_access_iterator_tag>::value,
486 return std::move(ia); // NOLINT(hicpp-move-const-arg,performance-move-const-arg)