std::basic_string_view::at(3)

NAME
std::basic_string_view::at - std::basic_string_view::at

Synopsis
   constexpr const_reference at( size_type pos ) const; (since C++17)
   Returns a const reference to the character at specified location pos. Bounds
   checking is performed, exception of type std::out_of_range will be thrown on invalid
   access.

Parameters
   pos - position of the character to return

Return value
   Const reference to the requested character.

Exceptions
   Throws std::out_of_range if pos >= size().

Complexity
   Constant.

Example
// Run this code
 #include <iostream>
 #include <stdexcept>
 #include <string_view>
 int main()
 {
     std::string_view str_view("abcdef");
     try {
         for (std::size_t i = 0; true; ++i)
             std::cout << i << ": " << str_view.at(i) << '\n';
     }
     catch (const std::out_of_range& e) {
         std::cout << "Whooops. Index is out of range.\n";
         std::cout << e.what() << '\n';
     }
 }

Possible output:
 0: a
 1: b
 2: c
 3: d
 4: e
 5: f
 6: Whooops. Index is out of range.
 basic_string_view::at: __pos (which is 6) >= this->size() (which is 6)

See also
   operator[] accesses the specified character
   (C++17) (public member function)
   at accesses the specified character with bounds checking
              (public member function of std::basic_string<CharT,Traits,Allocator>)