:relfileprefix: ../../../
[#boost-urls-grammar-string_view_base]

= xref:boost.adoc[pass:[boost]]::xref:boost/urls.adoc[pass:[urls]]::xref:boost/urls/grammar.adoc[pass:[grammar]]::string_view_base


Common functionality for string views


== Synopsis

Declared in header `<https://www.github.com/boostorg/url/blob/develop/include/boost/url/grammar/string_view_base.hpp#L36[boost/url/grammar/string_view_base.hpp,window=blank_]>`

[source,cpp,subs="verbatim,macros,-callouts"]
----
class string_view_base;
----

==  Types
[cols=2,separator=¦]
|===
¦Name ¦Description
¦xref:boost/urls/grammar/string_view_base/const_iterator.adoc[`const_iterator`]  ¦

The const iterator type

¦xref:boost/urls/grammar/string_view_base/const_pointer.adoc[`const_pointer`]  ¦

The const pointer type

¦xref:boost/urls/grammar/string_view_base/const_reference.adoc[`const_reference`]  ¦

The const reference type

¦xref:boost/urls/grammar/string_view_base/const_reverse_iterator.adoc[`const_reverse_iterator`]  ¦

The const reverse iterator type

¦xref:boost/urls/grammar/string_view_base/difference_type.adoc[`difference_type`]  ¦

The difference type

¦xref:boost/urls/grammar/string_view_base/iterator.adoc[`iterator`]  ¦

The iterator type

¦xref:boost/urls/grammar/string_view_base/pointer.adoc[`pointer`]  ¦

The pointer type

¦xref:boost/urls/grammar/string_view_base/reference.adoc[`reference`]  ¦

The reference type

¦xref:boost/urls/grammar/string_view_base/reverse_iterator.adoc[`reverse_iterator`]  ¦

The reverse iterator type

¦xref:boost/urls/grammar/string_view_base/size_type.adoc[`size_type`]  ¦

The size type

¦xref:boost/urls/grammar/string_view_base/traits_type.adoc[`traits_type`]  ¦

The character traits

¦xref:boost/urls/grammar/string_view_base/value_type.adoc[`value_type`]  ¦

The value type

|===
==  Member Functions
[cols=2,separator=¦]
|===
¦Name ¦Description
¦xref:boost/urls/grammar/string_view_base/at.adoc[`at`]  ¦

Access a character

¦xref:boost/urls/grammar/string_view_base/back.adoc[`back`]  ¦

Return the last character

¦xref:boost/urls/grammar/string_view_base/begin.adoc[`begin`]  ¦

Return an iterator to the beginning

¦xref:boost/urls/grammar/string_view_base/cbegin.adoc[`cbegin`]  ¦

Return an iterator to the beginning

¦xref:boost/urls/grammar/string_view_base/cend.adoc[`cend`]  ¦

Return an iterator to the end

¦xref:boost/urls/grammar/string_view_base/compare.adoc[`compare`]  ¦

Return the result of comparing to another string

¦xref:boost/urls/grammar/string_view_base/contains.adoc[`contains`]  ¦

Return true if matching characters are found

¦xref:boost/urls/grammar/string_view_base/copy.adoc[`copy`]  ¦

Copy the characters to another buffer

¦xref:boost/urls/grammar/string_view_base/crbegin.adoc[`crbegin`]  ¦

¦xref:boost/urls/grammar/string_view_base/crend.adoc[`crend`]  ¦

¦xref:boost/urls/grammar/string_view_base/data.adoc[`data`]  ¦

Return a pointer to the character buffer

¦xref:boost/urls/grammar/string_view_base/empty.adoc[`empty`]  ¦

Return true if the string is empty

¦xref:boost/urls/grammar/string_view_base/end.adoc[`end`]  ¦

Return an iterator to the end

¦xref:boost/urls/grammar/string_view_base/ends_with.adoc[`ends_with`]  ¦

Return true if a matching suffix exists

¦xref:boost/urls/grammar/string_view_base/find.adoc[`find`]  ¦

Return the position of matching characters

¦xref:boost/urls/grammar/string_view_base/find_first_not_of.adoc[`find_first_not_of`]  ¦

Return the position of the first non-match

¦xref:boost/urls/grammar/string_view_base/find_first_of.adoc[`find_first_of`]  ¦

Return the position of the first match

¦xref:boost/urls/grammar/string_view_base/find_last_not_of.adoc[`find_last_not_of`]  ¦

Return the position of the last non-match

¦xref:boost/urls/grammar/string_view_base/find_last_of.adoc[`find_last_of`]  ¦

Return the position of the last match

¦xref:boost/urls/grammar/string_view_base/front.adoc[`front`]  ¦

Return the first character

¦xref:boost/urls/grammar/string_view_base/length.adoc[`length`]  ¦

Return the size

¦xref:boost/urls/grammar/string_view_base/max_size.adoc[`max_size`]  ¦

Return the maximum allowed size

¦xref:boost/urls/grammar/string_view_base/2conversion-0e.adoc[`operator core::string_view`]  ¦

Conversion

¦xref:boost/urls/grammar/string_view_base/2conversion-06.adoc[`operator std::string`]  ¦

Conversion

¦xref:boost/urls/grammar/string_view_base/operator_subs.adoc[`operator[]`]  ¦

Access a character

¦xref:boost/urls/grammar/string_view_base/rbegin.adoc[`rbegin`]  ¦

¦xref:boost/urls/grammar/string_view_base/rend.adoc[`rend`]  ¦

¦xref:boost/urls/grammar/string_view_base/rfind.adoc[`rfind`]  ¦

Return the position of matching characters

¦xref:boost/urls/grammar/string_view_base/size.adoc[`size`]  ¦

Return the size

¦xref:boost/urls/grammar/string_view_base/starts_with.adoc[`starts_with`]  ¦

Return true if a matching prefix exists

¦xref:boost/urls/grammar/string_view_base/substr.adoc[`substr`]  ¦

Return a view to part of the string

|===
==  Static Data Members
[cols=2,separator=¦]
|===
¦Name ¦Description
¦xref:boost/urls/grammar/string_view_base/npos.adoc[`npos`]  ¦

A constant used to represent "no position"

|===
==  Friends
[cols=2,separator=¦]
|===
¦Name ¦Description
¦xref:boost/urls/grammar/string_view_base/08friend-09d.adoc[`hash_value`]  ¦

Return the hash of this value

¦xref:boost/urls/grammar/string_view_base/08friend-017.adoc[`operator!=`]  ¦

¦xref:boost/urls/grammar/string_view_base/08friend-010.adoc[`operator<`]  ¦

¦xref:boost/urls/grammar/string_view_base/08friend-00.adoc[`operator<<`]  ¦

¦xref:boost/urls/grammar/string_view_base/08friend-0c.adoc[`operator<=`]  ¦

¦xref:boost/urls/grammar/string_view_base/08friend-095.adoc[`operator==`]  ¦

¦xref:boost/urls/grammar/string_view_base/08friend-0d.adoc[`operator>`]  ¦

¦xref:boost/urls/grammar/string_view_base/08friend-02.adoc[`operator>=`]  ¦

|===

== Description


This base class is used to provide common
member functions for reference types that
behave like string views. This cannot be
instantiated directly; Instead, derive
from the type and provide constructors
which offer any desired preconditions
and invariants.



