RESTinio
utf8.hpp
Go to the documentation of this file.
1 
5 #pragma once
6 
7 #include <iostream> // std::cout, debug
8 
11 
12 namespace restinio
13 {
14 
15 namespace websocket
16 {
17 
18 namespace basic
19 {
20 
21 namespace impl
22 {
23 
24 //
25 // check_utf8_is_correct
26 //
27 
28 inline bool
30 {
32 
33  for( const auto & ch : sv )
34  {
35  if( !checker.process_byte( static_cast<std::uint8_t>(ch) ) )
36  {
37  return false;
38  }
39  }
40 
41  return checker.finalized();
42 }
43 
44 } /* namespace impl */
45 
46 } /* namespace basic */
47 
48 } /* namespace websocket */
49 
50 } /* namespace restinio */
string_view.hpp
restinio::string_view_t
nonstd::string_view string_view_t
Definition: string_view.hpp:19
restinio::utils::utf8_checker_t::process_byte
RESTINIO_NODISCARD bool process_byte(std::uint8_t byte) noexcept
Definition: utf8_checker.hpp:41
restinio::utils::utf8_checker_t::finalized
RESTINIO_NODISCARD bool finalized() const noexcept
Definition: utf8_checker.hpp:120
restinio::websocket::basic::impl::check_utf8_is_correct
bool check_utf8_is_correct(string_view_t sv) noexcept
Definition: utf8.hpp:29
restinio::utils::utf8_checker_t
Helper class for checking UTF-8 byte sequence during parsing URI or incoming byte stream.
Definition: utf8_checker.hpp:35
restinio
Definition: asio_include.hpp:21
utf8_checker.hpp
An implementation of checker for UTF-8 sequences.