std::basic_string_view<CharT,Traits>::at (3) - Linux Manuals

std::basic_string_view<CharT,Traits>::at: std::basic_string_view<CharT,Traits>::at

NAME

std::basic_string_view<CharT,Traits>::at - std::basic_string_view<CharT,Traits>::at

Synopsis


constexpr const_reference at(size_type pos) const; (since C++17)


Returns a 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


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


           accesses the specified character
operator[] (public member function)