RESTinio
utf8.hpp
Go to the documentation of this file.
1 /*!
2  UTF-8 .
3 */
4 
5 #pragma once
6 
7 #include <iostream> // std::cout, debug
8 
9 #include <restinio/string_view.hpp>
10 #include <restinio/utils/utf8_checker.hpp>
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
29 check_utf8_is_correct( string_view_t sv ) noexcept
30 {
31  restinio::utils::utf8_checker_t checker;
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 */
std::enable_if< std::is_same< Parameter_Container, query_string_params_t >::value||std::is_same< Parameter_Container, router::route_params_t >::value, optional_t< Value_Type > >::type opt_value(const Parameter_Container &params, string_view_t key)
Gets the value of a parameter specified by key wrapped in optional_t<Value_Type> if parameter exists ...
Definition: value_or.hpp:64
bool check_utf8_is_correct(string_view_t sv) noexcept
Definition: utf8.hpp:29