bn::string_view class

Refers to a constant contiguous sequence of char values.

It doesn't store the char data like a string does.

Public types

using value_type = char
Value type alias.
using size_type = int
Size type alias.
using difference_type = int
Difference type alias.
using reference = char&
Reference alias.
using const_reference = const char&
Const reference alias.
using pointer = char*
Pointer alias.
using const_pointer = const char*
Const pointer alias.
using iterator = char*
Iterator alias.
using const_iterator = const char*
Const iterator alias.
using reverse_iterator = bn::reverse_iterator<iterator>
Reverse iterator alias.
using const_reverse_iterator = bn::reverse_iterator<const_iterator>
Const reverse iterator alias.

Constructors, destructors, conversion operators

string_view() defaulted constexpr
Default constructor.
string_view(const istring_base& string) constexpr
Constructor.
string_view(const_pointer char_array_ptr) constexpr
Constructor.
string_view(const_pointer char_array_ptr, size_type char_array_size) constexpr
Constructor.

Public functions

auto front() const -> const_reference constexpr
Returns a const reference to the first character.
auto back() const -> const_reference constexpr
Returns a const reference to the last character.
auto data() const -> const_pointer constexpr
Returns a const pointer to the first character of the internal storage.
auto begin() const -> const_iterator constexpr
Returns a const iterator to the beginning of the string_view.
auto cbegin() const -> const_iterator constexpr
Returns a const iterator to the beginning of the string_view.
auto end() const -> const_iterator constexpr
Returns a const iterator to the end of the string_view.
auto cend() const -> const_iterator constexpr
Returns a const iterator to the end of the string_view.
auto rbegin() const -> const_reverse_iterator constexpr
Returns a const reverse iterator to the end of the string_view.
auto crbegin() const -> const_reverse_iterator constexpr
Returns a const reverse iterator to the end of the string_view.
auto rend() const -> const_reverse_iterator constexpr
Returns a const reverse iterator to the beginning of the string_view.
auto crend() const -> const_reverse_iterator constexpr
Returns a const reverse iterator to the beginning of the string_view.
auto empty() const -> bool constexpr
Indicates if it doesn't contain any character.
auto size() const -> size_type constexpr
Returns the number of characters in the string_view.
auto length() const -> size_type constexpr
Returns the number of characters in the string_view.
auto operator[](size_type position) const -> const_reference constexpr
Returns a const reference to the character at the specified location.
auto at(size_type position) const -> const_reference constexpr
Returns a const reference to the character at the specified location.
auto substr() const -> string_view constexpr
Returns a copy of this.
auto substr(size_type position) const -> string_view constexpr
Returns a string_view of the substring [position, size() - position).
auto substr(size_type position, size_type count) const -> string_view constexpr
Returns a string_view of the substring [position, position + count).
void remove_prefix(size_type n) constexpr
Shrinks the string_view by moving its start forward by n characters.
void remove_suffix(size_type n) constexpr
Shrinks the string_view by moving its end backward by n characters.
auto starts_with(value_type value) const -> bool constexpr
Checks if the referenced string begins with the given prefix.
auto starts_with(const string_view& other) const -> bool constexpr
Checks if the referenced string begins with the given prefix.
auto starts_with(const_pointer char_array_ptr) const -> bool constexpr
Checks if the referenced string begins with the given prefix.
auto ends_with(value_type value) const -> bool constexpr
Checks if the referenced string ends with the given prefix.
auto ends_with(const string_view& other) const -> bool constexpr
Checks if the referenced string ends with the given prefix.
void swap(string_view& other) constexpr
Exchanges the contents of this string_view with those of the other one.

Friends

auto swap(string_view& a, string_view& b) -> friend void constexpr
Exchanges the contents of a string_view with those of another one.
auto operator==(const string_view& a, const string_view& b) -> friend bool constexpr
Equal operator.
auto operator!=(const string_view& a, const string_view& b) -> friend bool constexpr
Not equal operator.
auto operator<(const string_view& a, const string_view& b) -> friend bool constexpr
Less than operator.
auto operator>(const string_view& a, const string_view& b) -> friend bool constexpr
Greater than operator.
auto operator<=(const string_view& a, const string_view& b) -> friend bool constexpr
Less than or equal operator.
auto operator>=(const string_view& a, const string_view& b) -> friend bool constexpr
Greater than or equal operator.

Function documentation

bn::string_view::string_view(const istring_base& string) constexpr

Constructor.

Parameters
string Base string to reference.

bn::string_view::string_view(const_pointer char_array_ptr) constexpr

Constructor.

Parameters
char_array_ptr Pointer to null-terminated characters array.

bn::string_view::string_view(const_pointer char_array_ptr, size_type char_array_size) constexpr

Constructor.

Parameters
char_array_ptr Pointer to characters array.
char_array_size Characters count of the characters array.

const_reference bn::string_view::operator[](size_type position) const constexpr

Returns a const reference to the character at the specified location.

Parameters
position Character's position index.
Returns Const reference to the character at the specified location.

const_reference bn::string_view::at(size_type position) const constexpr

Returns a const reference to the character at the specified location.

Parameters
position Character's position index.
Returns Const reference to the character at the specified location.

bool bn::string_view::starts_with(value_type value) const constexpr

Checks if the referenced string begins with the given prefix.

Parameters
value Single character.
Returns true if the referenced string begins with the given prefix, false otherwise.

bool bn::string_view::starts_with(const string_view& other) const constexpr

Checks if the referenced string begins with the given prefix.

Parameters
other Another string_view.
Returns true if the referenced string begins with the given prefix, false otherwise.

bool bn::string_view::starts_with(const_pointer char_array_ptr) const constexpr

Checks if the referenced string begins with the given prefix.

Parameters
char_array_ptr Pointer to null-terminated characters array.
Returns true if the referenced string begins with the given prefix, false otherwise.

bool bn::string_view::ends_with(value_type value) const constexpr

Checks if the referenced string ends with the given prefix.

Parameters
value Single character.
Returns true if the referenced string ends with the given prefix, false otherwise.

bool bn::string_view::ends_with(const string_view& other) const constexpr

Checks if the referenced string ends with the given prefix.

Parameters
other Another string_view.
Returns true if the referenced string ends with the given prefix, false otherwise.

void bn::string_view::swap(string_view& other) constexpr

Exchanges the contents of this string_view with those of the other one.

Parameters
other string_view to exchange the contents with.

friend void swap(string_view& a, string_view& b) constexpr

Exchanges the contents of a string_view with those of another one.

Parameters
a First string_view to exchange the contents with.
b Second string_view to exchange the contents with.

friend bool operator==(const string_view& a, const string_view& b) constexpr

Equal operator.

Parameters
a First string_view to compare.
b Second string_view to compare.
Returns true if the first string_view is equal to the second one, otherwise false.

friend bool operator!=(const string_view& a, const string_view& b) constexpr

Not equal operator.

Parameters
a First string_view to compare.
b Second string_view to compare.
Returns true if the first string_view is not equal to the second one, otherwise false.

friend bool operator<(const string_view& a, const string_view& b) constexpr

Less than operator.

Parameters
a First string_view to compare.
b Second string_view to compare.
Returns true if the first string_view is lexicographically less than the second one, otherwise false.

friend bool operator>(const string_view& a, const string_view& b) constexpr

Greater than operator.

Parameters
a First string_view to compare.
b Second string_view to compare.
Returns true if the first string_view is lexicographically greater than the second one, otherwise false.

friend bool operator<=(const string_view& a, const string_view& b) constexpr

Less than or equal operator.

Parameters
a First string_view to compare.
b Second string_view to compare.
Returns true if the first string_view is lexicographically less than or equal to the second one, otherwise false.

friend bool operator>=(const string_view& a, const string_view& b) constexpr

Greater than or equal operator.

Parameters
a First string_view to compare.
b Second string_view to compare.
Returns true if the first string_view is lexicographically greater than or equal to the second one, otherwise false.