WPILibC++ 2025.3.1
Loading...
Searching...
No Matches
basic_string_view< Char > Class Template Reference

An implementation of std::basic_string_view for pre-C++17. More...

#include <fmt/base.h>

Public Types

using value_type = Char
 
using iterator = const Char*
 

Public Member Functions

constexpr basic_string_view () noexcept
 
constexpr basic_string_view (const Char *s, size_t count) noexcept
 Constructs a string reference object from a C string and a size.
 
constexpr basic_string_view (nullptr_t)=delete
 
FMT_CONSTEXPR20 basic_string_view (const Char *s)
 Constructs a string reference object from a C string.
 
template<typename S , FMT_ENABLE_IF(detail::is_std_string_like< S >::value &&std::is_same< typename S::value_type, Char >::value) >
FMT_CONSTEXPR basic_string_view (const S &s) noexcept
 Constructs a string reference from a std::basic_string or a std::basic_string_view object.
 
constexpr auto data () const noexcept -> const Char *
 Returns a pointer to the string data.
 
constexpr auto size () const noexcept -> size_t
 Returns the string size.
 
constexpr auto begin () const noexcept -> iterator
 
constexpr auto end () const noexcept -> iterator
 
constexpr auto operator[] (size_t pos) const noexcept -> const Char &
 
FMT_CONSTEXPR void remove_prefix (size_t n) noexcept
 
FMT_CONSTEXPR auto starts_with (basic_string_view< Char > sv) const noexcept -> bool
 
FMT_CONSTEXPR auto starts_with (Char c) const noexcept -> bool
 
FMT_CONSTEXPR auto starts_with (const Char *s) const -> bool
 
FMT_CONSTEXPR auto compare (basic_string_view other) const -> int
 

Friends

FMT_CONSTEXPR friend auto operator== (basic_string_view lhs, basic_string_view rhs) -> bool
 
auto operator!= (basic_string_view lhs, basic_string_view rhs) -> bool
 
auto operator< (basic_string_view lhs, basic_string_view rhs) -> bool
 
auto operator<= (basic_string_view lhs, basic_string_view rhs) -> bool
 
auto operator> (basic_string_view lhs, basic_string_view rhs) -> bool
 
auto operator>= (basic_string_view lhs, basic_string_view rhs) -> bool
 

Detailed Description

template<typename Char>
class basic_string_view< Char >

An implementation of std::basic_string_view for pre-C++17.

It provides a subset of the API. fmt::basic_string_view is used for format strings even if std::basic_string_view is available to prevent issues when a library is compiled with a different -std option than the client code (which is not recommended).

Member Typedef Documentation

◆ iterator

template<typename Char >
using basic_string_view< Char >::iterator = const Char*

◆ value_type

template<typename Char >
using basic_string_view< Char >::value_type = Char

Constructor & Destructor Documentation

◆ basic_string_view() [1/5]

template<typename Char >
basic_string_view< Char >::basic_string_view ( )
inlineconstexprnoexcept

◆ basic_string_view() [2/5]

template<typename Char >
basic_string_view< Char >::basic_string_view ( const Char * s,
size_t count )
inlineconstexprnoexcept

Constructs a string reference object from a C string and a size.

◆ basic_string_view() [3/5]

template<typename Char >
basic_string_view< Char >::basic_string_view ( nullptr_t )
constexprdelete

◆ basic_string_view() [4/5]

template<typename Char >
FMT_CONSTEXPR20 basic_string_view< Char >::basic_string_view ( const Char * s)
inline

Constructs a string reference object from a C string.

◆ basic_string_view() [5/5]

template<typename Char >
template<typename S , FMT_ENABLE_IF(detail::is_std_string_like< S >::value &&std::is_same< typename S::value_type, Char >::value) >
FMT_CONSTEXPR basic_string_view< Char >::basic_string_view ( const S & s)
inlinenoexcept

Constructs a string reference from a std::basic_string or a std::basic_string_view object.

Member Function Documentation

◆ begin()

template<typename Char >
auto basic_string_view< Char >::begin ( ) const -> iterator
inlineconstexprnoexcept

◆ compare()

template<typename Char >
FMT_CONSTEXPR auto basic_string_view< Char >::compare ( basic_string_view< Char > other) const -> int
inline

◆ data()

template<typename Char >
auto basic_string_view< Char >::data ( ) const -> const Char*
inlineconstexprnoexcept

Returns a pointer to the string data.

◆ end()

template<typename Char >
auto basic_string_view< Char >::end ( ) const -> iterator
inlineconstexprnoexcept

◆ operator[]()

template<typename Char >
auto basic_string_view< Char >::operator[] ( size_t pos) const -> const Char&
inlineconstexprnoexcept

◆ remove_prefix()

template<typename Char >
FMT_CONSTEXPR void basic_string_view< Char >::remove_prefix ( size_t n)
inlinenoexcept

◆ size()

template<typename Char >
auto basic_string_view< Char >::size ( ) const -> size_t
inlineconstexprnoexcept

Returns the string size.

◆ starts_with() [1/3]

template<typename Char >
FMT_CONSTEXPR auto basic_string_view< Char >::starts_with ( basic_string_view< Char > sv) const -> bool
inlinenoexcept

◆ starts_with() [2/3]

template<typename Char >
FMT_CONSTEXPR auto basic_string_view< Char >::starts_with ( Char c) const -> bool
inlinenoexcept

◆ starts_with() [3/3]

template<typename Char >
FMT_CONSTEXPR auto basic_string_view< Char >::starts_with ( const Char * s) const -> bool
inline

Friends And Related Symbol Documentation

◆ operator!=

template<typename Char >
auto operator!= ( basic_string_view< Char > lhs,
basic_string_view< Char > rhs ) -> bool
friend

◆ operator<

template<typename Char >
auto operator< ( basic_string_view< Char > lhs,
basic_string_view< Char > rhs ) -> bool
friend

◆ operator<=

template<typename Char >
auto operator<= ( basic_string_view< Char > lhs,
basic_string_view< Char > rhs ) -> bool
friend

◆ operator==

template<typename Char >
FMT_CONSTEXPR friend auto operator== ( basic_string_view< Char > lhs,
basic_string_view< Char > rhs ) -> bool
friend

◆ operator>

template<typename Char >
auto operator> ( basic_string_view< Char > lhs,
basic_string_view< Char > rhs ) -> bool
friend

◆ operator>=

template<typename Char >
auto operator>= ( basic_string_view< Char > lhs,
basic_string_view< Char > rhs ) -> bool
friend

The documentation for this class was generated from the following file: