Autonomy Software C++ 24.5.1
Welcome to the Autonomy Software repository of the Mars Rover Design Team (MRDT) at Missouri University of Science and Technology (Missouri S&T)! API reference contains the source code and other resources for the development of the autonomy software for our Mars rover. The Autonomy Software project aims to compete in the University Rover Challenge (URC) by demonstrating advanced autonomous capabilities and robust navigation algorithms.
Loading...
Searching...
No Matches
basic_string_view< Char > Class Template Reference

Public Types

using char_type = Char
 
using iterator = const Char *
 

Public Member Functions

FMT_CONSTEXPR basic_string_view (const Char *s, size_t count) FMT_NOEXCEPT
 
 basic_string_view (const Char *s)
 
template<typename Traits , typename Alloc >
FMT_CONSTEXPR basic_string_view (const std::basic_string< Char, Traits, Alloc > &s) FMT_NOEXCEPT
 
template<typename S , FMT_ENABLE_IF(std::is_same< S, internal::std_string_view< Char > >::value) >
FMT_CONSTEXPR basic_string_view (S s) FMT_NOEXCEPT
 
FMT_CONSTEXPR const Char * data () const
 
FMT_CONSTEXPR size_t size () const
 
FMT_CONSTEXPR iterator begin () const
 
FMT_CONSTEXPR iterator end () const
 
FMT_CONSTEXPR const Char & operator[] (size_t pos) const
 
FMT_CONSTEXPR void remove_prefix (size_t n)
 
std::string to_string ()
 
int compare (basic_string_view other) const
 

Private Attributes

const Char * data_
 
size_t size_
 

Friends

bool operator== (basic_string_view lhs, basic_string_view rhs)
 
bool operator!= (basic_string_view lhs, basic_string_view rhs)
 
bool operator< (basic_string_view lhs, basic_string_view rhs)
 
bool operator<= (basic_string_view lhs, basic_string_view rhs)
 
bool operator> (basic_string_view lhs, basic_string_view rhs)
 
bool operator>= (basic_string_view lhs, basic_string_view rhs)
 

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::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).

Constructor & Destructor Documentation

◆ basic_string_view() [1/5]

template<typename Char >
FMT_CONSTEXPR basic_string_view< Char >::basic_string_view ( )
inline
15116: data_(nullptr), size_(0) {}

◆ basic_string_view() [2/5]

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

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

15120 : data_(s),
15121 size_(count) {}

◆ basic_string_view() [3/5]

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

\rst Constructs a string reference object from a C string computing the size with std::char_traits<Char>::length. \endrst

15130 : data_(s), size_(std::char_traits<Char>::length(s)) {}

◆ basic_string_view() [4/5]

template<typename Char >
template<typename Traits , typename Alloc >
FMT_CONSTEXPR basic_string_view< Char >::basic_string_view ( const std::basic_string< Char, Traits, Alloc > &  s)
inline

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

15136 : data_(s.data()),
15137 size_(s.size()) {}

◆ basic_string_view() [5/5]

template<typename Char >
template<typename S , FMT_ENABLE_IF(std::is_same< S, internal::std_string_view< Char > >::value) >
FMT_CONSTEXPR basic_string_view< Char >::basic_string_view ( s)
inline
15142 : data_(s.data()),
15143 size_(s.size()) {}

Member Function Documentation

◆ data()

template<typename Char >
FMT_CONSTEXPR const Char * basic_string_view< Char >::data ( ) const
inline

Returns a pointer to the string data.

15146{ return data_; }

◆ size()

template<typename Char >
FMT_CONSTEXPR size_t basic_string_view< Char >::size ( ) const
inline

Returns the string size.

15149{ return size_; }

◆ begin()

template<typename Char >
FMT_CONSTEXPR iterator basic_string_view< Char >::begin ( ) const
inline
15151{ return data_; }

◆ end()

template<typename Char >
FMT_CONSTEXPR iterator basic_string_view< Char >::end ( ) const
inline
15152{ return data_ + size_; }

◆ operator[]()

template<typename Char >
FMT_CONSTEXPR const Char & basic_string_view< Char >::operator[] ( size_t  pos) const
inline
15154{ return data_[pos]; }

◆ remove_prefix()

template<typename Char >
FMT_CONSTEXPR void basic_string_view< Char >::remove_prefix ( size_t  n)
inline
15156 {
15157 data_ += n;
15158 size_ -= n;
15159 }

◆ to_string()

template<typename Char >
std::string basic_string_view< Char >::to_string ( )
inline
15161 {
15162 return std::string((char *) data(), size());
15163 }
FMT_CONSTEXPR size_t size() const
Definition duckdb.cpp:15149
FMT_CONSTEXPR const Char * data() const
Definition duckdb.cpp:15146

◆ compare()

template<typename Char >
int basic_string_view< Char >::compare ( basic_string_view< Char >  other) const
inline
15166 {
15167 size_t str_size = size_ < other.size_ ? size_ : other.size_;
15168 int result = std::char_traits<Char>::compare(data_, other.data_, str_size);
15169 if (result == 0)
15170 result = size_ == other.size_ ? 0 : (size_ < other.size_ ? -1 : 1);
15171 return result;
15172 }

Friends And Related Symbol Documentation

◆ operator==

template<typename Char >
bool operator== ( basic_string_view< Char >  lhs,
basic_string_view< Char >  rhs 
)
friend
15174 {
15175 return lhs.compare(rhs) == 0;
15176 }

◆ operator!=

template<typename Char >
bool operator!= ( basic_string_view< Char >  lhs,
basic_string_view< Char >  rhs 
)
friend
15177 {
15178 return lhs.compare(rhs) != 0;
15179 }

◆ operator<

template<typename Char >
bool operator< ( basic_string_view< Char >  lhs,
basic_string_view< Char >  rhs 
)
friend
15180 {
15181 return lhs.compare(rhs) < 0;
15182 }

◆ operator<=

template<typename Char >
bool operator<= ( basic_string_view< Char >  lhs,
basic_string_view< Char >  rhs 
)
friend
15183 {
15184 return lhs.compare(rhs) <= 0;
15185 }

◆ operator>

template<typename Char >
bool operator> ( basic_string_view< Char >  lhs,
basic_string_view< Char >  rhs 
)
friend
15186 {
15187 return lhs.compare(rhs) > 0;
15188 }

◆ operator>=

template<typename Char >
bool operator>= ( basic_string_view< Char >  lhs,
basic_string_view< Char >  rhs 
)
friend
15189 {
15190 return lhs.compare(rhs) >= 0;
15191 }

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