Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

Class template basic_string_literal

Boost , Chapter 1. Boost.Log v2 , Utilities

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext

Class template basic_string_literal

boost::log::basic_string_literal — String literal wrapper.

Synopsis

// In header: <boost/log/utility/string_literal.hpp>
template<typename CharT, typename TraitsT> 
class basic_string_literal {
public:
  // types
  typedef CharT                                        value_type;            
  typedef TraitsT                                      traits_type;           
  typedef std::size_t                                  size_type;             
  typedef std::ptrdiff_t                               difference_type;       
  typedef const value_type *                           const_pointer;         
  typedef value_type const &                           const_reference;       
  typedef const value_type *                           const_iterator;        
  typedef std::reverse_iterator< const_iterator >      const_reverse_iterator;
  typedef std::basic_string< value_type, traits_type > string_type;             // Corresponding STL string type. 
  // construct/copy/destruct
  basic_string_literal() noexcept;
  template<typename T, size_type LenV> basic_string_literal(T(&)) noexcept;
  basic_string_literal(basic_string_literal const &) noexcept;
  constexpr this_type & operator=(this_type const &) noexcept;
  template<typename T, size_type LenV> 
    constexpr this_type & operator=(T(&)) noexcept;
  // public member functions
  bool operator==(this_type const &) const noexcept;
  bool operator==(const_pointer) const noexcept;
  bool operator==(string_type const &) const noexcept;
  bool operator!=(this_type const &) const noexcept;
  bool operator!=(const_pointer) const noexcept;
  bool operator!=(string_type const &) const noexcept;
  bool operator<(this_type const &) const noexcept;
  bool operator<(const_pointer) const noexcept;
  bool operator<(string_type const &) const noexcept;
  bool operator<=(this_type const &) const noexcept;
  bool operator<=(const_pointer) const noexcept;
  bool operator<=(string_type const &) const noexcept;
  bool operator>(this_type const &) const noexcept;
  bool operator>(const_pointer) const noexcept;
  bool operator>(string_type const &) const noexcept;
  bool operator>=(this_type const &) const noexcept;
  bool operator>=(const_pointer) const noexcept;
  bool operator>=(string_type const &) const noexcept;
  constexpr const_reference operator[](size_type) const noexcept;
  const_reference at(size_type) const;
  constexpr const_pointer c_str() const noexcept;
  constexpr const_pointer data() const noexcept;
  constexpr size_type size() const noexcept;
  constexpr size_type length() const noexcept;
  constexpr bool empty() const noexcept;
  constexpr const_iterator begin() const noexcept;
  constexpr const_iterator end() const noexcept;
  const_reverse_iterator rbegin() const noexcept;
  const_reverse_iterator rend() const noexcept;
  string_type str() const;
  constexpr void clear() noexcept;
  constexpr void swap(this_type &) noexcept;
  constexpr this_type & assign(this_type const &) noexcept;
  template<typename T, size_type LenV> 
    constexpr this_type & assign(T(&)) noexcept;
  size_type copy(value_type *, size_type, size_type = 0) const;
  int compare(size_type, size_type, const_pointer, size_type) const;
  int compare(size_type, size_type, const_pointer) const noexcept;
  int compare(size_type, size_type, this_type const &) const noexcept;
  int compare(const_pointer, size_type) const noexcept;
  int compare(const_pointer) const noexcept;
  int compare(this_type const &) const noexcept;
};

Description

<basic_string_literal>— тонкая обертка вокруг постоянной струны. Он обеспечивает интерфейс, похожий на строки STL, но из-за чтения только буквальных строк не имеет возможности изменять содержимое строк. Однако<basic_string_literal>объекты могут быть назначены и очищены.

Основным преимуществом этого класса по сравнению с другими классами строк является то, что он не динамически распределяет память и поэтому является быстрым, тонким и безопасным.

basic_string_literal public construct/copy/destruct

  1. <
    basic_string_literal()noexcept;
    >

    Конструктор

    Последующие условия:

    <empty() == true>

  2. <
    template<typenameT,size_typeLenV>basic_string_literal(T(&)p)noexcept;
    >

    Конструктор из строкового литерала

    [ Возврат:

    Параметры:

    [[[] [[]] [[[]][[][[[]] [[] [[]] [[] [[]] [[]] [[
  3. <
    basic_string_literal(basic_string_literalconst&that)noexcept;
    >

    Копировать конструктор

  4. Пост-условия:

    <*this == p>

    Параметры:

    <that>

    Источник буквально для копирования строки из

    Последующие условия:

    <*this == that>

  5. <
    constexprthis_type&operator=(this_typeconst&that)noexcept;
    >

    Оператор уступки

    Параметры:

    <that><that>

    Источник дословно для копирования строки из

    Постусловия:

    <*this == that>

  6. <
    template<typenameT,size_typeLenV>
     constexprthis_type&operator=(T(&)p)noexcept;
    >

    Назначение из строки буквально

    Параметры:

    <p>

    Нулевая константная последовательность символов

    Последующие условия:

    <*this == p>

  7. basic_string_literal public member functions

    1. <
      booloperator==(this_typeconst&that)constnoexcept;
      >

      Лексикографическое сравнение [равенство]

      Параметры:

      <that>

    <true>, если строка сравнения равна этой строке,<false>в противном случае

  8. <
    booloperator==(const_pointerstr)constnoexcept;
    >

    Лексикографическое сравнение [равенство]

    Параметры:

    <str>

    Сравнение. Должна указывать на нулевую последовательность символов, не должна быть NULL.

    Возвращается:

    <true>, если строка сравнения равна этой строке,<false>в противном случае

  9. <
    booloperator==(string_typeconst&that)constnoexcept;
    >

    Лексикографическое сравнение [равенство]

Возврат:

<true>, если строка сравнения равна этой строке,<false>в противном случае

  • <
    booloperator!=(this_typeconst&that)constnoexcept;
    >

    Лексикографическое сравнение

    Параметры:

    <that>

    Сравнение

    Возврат:

    <true>, если строка сравнения не равна этой строке,<false>в противном случае

  • <
    booloperator!=(const_pointerstr)constnoexcept;
    >

    Лексикографическое сравнение (неравенство)

    Параметры:

    <str>

    Сравнение. Должна указывать на нулевую последовательность символов, не должна быть NULL.

    Возврат:

    <true>, если строка сравнения не равна этой строке,<false>в противном случае

  • <
    booloperator!=(string_typeconst&that)constnoexcept;
    >

    Лексикографическое сравнение [неравенство]

    Параметры:

    Возврат:

    <true>, если строка сравнения не равна этой строке,<false>иначе

  • <
    booloperator<(this_typeconst&that)constnoexcept;
    >

    Лексикографическое сравнение (менее упорядочивание)

    <that><that><that>

    <true>, если эта строка меньше, чем сравнение, и<false>в противном случае

    <true>возвращает:

  • <
    booloperator<(const_pointerstr)constnoexcept;
    >

    Лексикографическое сравнение (меньшее упорядочивание)

    Параметры:

    <str>

    Сравнение. Должна указывать на нулевую последовательность символов, не должна быть NULL.

    Возвращается:

    <true>, если эта строка меньше сравнения, и<false>в противном случае

  • <
    booloperator<(string_typeconst&that)constnoexcept;
    >

    Лексикографическое сравнение [менее упорядочивание]

    Параметры:

    <that>

    <false>

    [

    ]

    [

    ] [ Возвращается:

    <true>, если эта строка меньше сравнения, и<false>в противном случае

  • <
    booloperator<=(this_typeconst&that)constnoexcept;
    >

    Лексикографическое сравнение (меньшее или равное упорядочивание)

    Параметры:

    <that>

    Сравнение

    Возвращается:

    <true>, если эта строка меньше или равна сравнению, и<false>иначе

  • <
    booloperator<=(const_pointerstr)constnoexcept;
    >

    Лексикографическое сравнение

    Параметры:

    Сравнение. Должна указывать на нулевую последовательность символов, не должна быть NULL.

  • Возвращение:

    <true>, если эта строка меньше или равна сравнению и<false>иначе

  • <
    booloperator<=(string_typeconst&that)constnoexcept;
    >

    Лексикографическое сравнение [менее или равное упорядочение]

    Параметры:

    [

    [
    ] [
    ] [
    ] [
    ] [
    ] [
    ] [
    ] [
    ] [
    ] [
    ] [
    ] [
    ] [[ Возвращается:

    <true>, если эта строка меньше или равна сравнению, и<false>иначе

  • <
    booloperator>(this_typeconst&that)constnoexcept;
    >

    Лексикографическое сравнение

    Параметры:

    <that>

    Сравнение

  • Возврат:

    <true>, если эта строка больше, чем сравнение, и<false>в противном случае

  • <
    booloperator>(const_pointerstr)constnoexcept;
    >

    Лексикографическое сравнение

    Параметры:

    <str>

    Сравнение. Должна указывать на нулевую последовательность символов, не должна быть NULL.

    Возвращается:

    <true>, если эта строка больше сравнения, и<false>в противном случае

  • <
    booloperator>(string_typeconst&that)constnoexcept;
    >

    Лексикографическое сравнение [более упорядоченное]

    <true>Возвращение:

    <true>, если эта строка больше, чем сравнение, и<false>в противном случае

  • <
    booloperator>=(this_typeconst&that)constnoexcept;
    >

    Лексикографическое сравнение [большее или равное упорядочение]

    <that>

  • [12 Возврат:

    <true>, если эта строка больше или равна сравнению и<false>в противном случае

  • <
    booloperator>=(const_pointerstr)constnoexcept;
    >

    Лексикографическое сравнение

    Параметры:

    <str><str>

    Должна указывать на нулевую последовательность символов, не должна быть NULL.

    Возвращается:

    <true>, если эта строка больше или равна сравнению и<false>в противном случае

  • <
    booloperator>=(string_typeconst&that)constnoexcept;
    >

    Лексикографическое сравнение [более или равное упорядочение]

    [ Возвращается:

    <true>, если эта строка больше или равна сравнению и<false>в противном случае

  • <
    constexprconst_referenceoperator[](size_typei)constnoexcept;
    >

    Оператор подписки

    Параметры:

    <i>

    Запрошенный индекс символов

    Требуется:

    <i < size()>

    Возвращение:

    Постоянная ссылка на запрашиваемый символ

  • <
    const_referenceat(size_typei)const;
    >

    Проверенный субскрипт

    Броски:Исключение на основе<std::exception>, если индексiвыходит за пределы строк

    Параметры:

    <i>

    Запрашиваемый индекс символов

    Возвращение:

    Постоянная ссылка на запрашиваемый символ

  • <
    constexprconst_pointerc_str()constnoexcept;
    >

    Возвращает:

    Указатель на начало буквального

  • <
    constexprconst_pointerdata()constnoexcept;
    >

    Возвращение:

    Указание на начало буквального

  • <
    constexprsize_typesize()constnoexcept;
    >

    Возвращение:

    Длина буквального

  • <
    constexprsize_typelength()constnoexcept;
    >

    Длина буквального

    Возвращение:

  • <
    constexprboolempty()constnoexcept;
    >

    Возвращается:

    <true>если буквальный текст является пустой строкой,<false>в противном случае

  • <
    constexprconst_iteratorbegin()constnoexcept;
    >

    Возвращение:

    Итератор, указывающий на первый символ буквального

  • <
    constexprconst_iteratorend()constnoexcept;
    >

    Возвращение:

    Итератор, указывающий после последнего символа буквального

  • <
    const_reverse_iteratorrbegin()constnoexcept;
    >

    Возвращение:

    Обратный итератор, указывающий на последний символ буквального

  • <
    const_reverse_iteratorrend()constnoexcept;
    >

    Возвращение:

    Обратный итератор, указывающий на первый символ буквального

  • <
    string_typestr()const;
    >

    Возвращение:

    струна STL, построенная из буквального

  • <
    constexprvoidclear()noexcept;
    >

    Способ очищает буквальный

    Последующие условия:

    <empty() == true>

  • <
    constexprvoidswap(this_type&that)noexcept;
    >

    Метод своп двух букв

  • <
    constexprthis_type&assign(this_typeconst&that)noexcept;
    >

    Уступка от другого буквального

    Параметры:

    <that>

    Источник буквально для копирования строки из

    Последующие условия:

    <*this == that>

  • <
    template<typenameT,size_typeLenV>
     constexprthis_type&assign(T(&)p)noexcept;
    >

    Уступка от другого буквального

    Параметры:

    <p>

    нулевая константная последовательность символов

    Последующие условия:

    <*this == p>

  • <
    size_typecopy(value_type*str,size_typen,size_typepos=0)const;
    >

    Способ копирует буквальный или его часть во внешний буфер

    Броски:<std::exception>- основанное исключение, еслиposнаходится вне диапазона.

    Параметры:

    Максимальное количество символов для копирования

    <n>

    <pos>

    Начальная позиция для начала копирования с

    <str>

    Укажите на начало внешнего буфера. Это не должно быть нулем. Буфер должен иметь достаточную емкость для размещения запрашиваемого количества символов.

  • Требуется:

    <pos <= size()>

    Возвращение:

    Количество скопированных персонажей

  • <
    intcompare(size_typepos,size_typen,const_pointerstr,size_typelen)const;
    >

    Лексикографически сравнивает строку аргумента с частью этой строки

    Броски:Исключение на основе<std::exception>, еслиposнаходится вне диапазона.

    [20

    Число символов в последовательностистр.

    <len>

    <len>

    <len><len><len>
    <n>

    Длина подстроки этой строки для выполнения сравнения с

    <pos>

    Начальное положение в этой строке для выполнения сравнения с

    <str>

    Сравнение. Должна указывать на последовательность символов, не должна быть NULL.

    Требуется:

    <pos <= size()>

    Требуется:

    <pos <= size()>

    Возвращение:

    Ноль, если эта строка равна этой строке, отрицательное значение, если эта строка меньше, чем сравнение, и положительное значение, если эта строка больше, чем сравнение.

  • <
    intcompare(size_typepos,size_typen,const_pointerstr)constnoexcept;
    >

    Лексикографически сравнивает строку аргумента с частью этой строки

    Бросок:Исключение на основе<std::exception>- еслиposнаходится вне диапазона.

    Параметры:

    <n>

    Длина подстроки этой строки для выполнения сравнения с

    <pos>

    Начальное положение в этой строке для выполнения сравнения с

    <str>

    Должна указывать на нулевую последовательность символов, не должна быть NULL.

    Требуется:

    <pos <= size()>

    Возвращение:

    Ноль, если эта строка равна этой строке, отрицательное значение, если эта строка меньше, чем сравнение, и положительное значение, если эта строка больше, чем сравнение.

  • <
    intcompare(size_typepos,size_typen,this_typeconst&that)constnoexcept;
    >

    Лексикографически сравнивает аргументную строку буквально с частью этой строки

    Броски:Исключение на основе<std::exception>, еслиposнаходится вне диапазона.

    Параметры:

    <n>

    Длина подстроки этой строки для выполнения сравнения с

    <pos>

    Начальное положение в этой строке для выполнения сравнения с

    <that>

    Требуется:

    <pos <= size()>

    Возвращение:

    Ноль, если эта строка равна этой строке, отрицательное значение, если эта строка меньше, чем сравнение, и положительное значение, если эта строка больше, чем сравнение.

  • <
    intcompare(const_pointerstr,size_typelen)constnoexcept;
    >

    Лексикографически сравнивает строку аргумента с этой строкой

    Параметры:

    <len>

    Число знаков в последовательностист.

    <str>

    Сравнение. Должна указывать на последовательность символов, не должна быть NULL.

    Возврат:

    Ноль, если сравнение равно этой строке, отрицательное значение, если эта строка меньше сравнения, и положительное значение, если эта строка больше сравнения.

  • <
    intcompare(const_pointerstr)constnoexcept;
    >

    Лексикографически сравнивает строку аргумента с этой строкой

    Параметры:

    <str>

    <str>

    [24

    Сравнение. Должна указывать на нулевую последовательность символов, не должна быть NULL.

    Возвращение:

    Ноль, если эта строка равна этой строке, отрицательное значение, если эта строка меньше, чем сравнение, и положительное значение, если эта строка больше, чем сравнение.

  • <
    intcompare(this_typeconst&that)constnoexcept;
    >

    Лексикографически сравнивает строку аргумента с этой строкой

    <that><that><that>

    Возвращение:

    <

    intcompare(this_typeconst&that)constnoexcept;
    ><
    intcompare(this_typeconst&that)constnoexcept;
    ><
    intcompare(this_typeconst&that)constnoexcept;
    ><
    intcompare(this_typeconst&that)constnoexcept;
    ><
    intcompare(this_typeconst&that)constnoexcept;
    >[ Ноль, если эта строка равна этой строке, отрицательное значение, если эта строка меньше, чем сравнение, и положительное значение, если эта строка больше, чем сравнение.


  • PrevUpHomeNext

    Статья Class template basic_string_literal раздела Chapter 1. Boost.Log v2 Utilities может быть полезна для разработчиков на c++ и boost.




    Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



    :: Главная :: Utilities ::


    реклама


    ©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
    Top.Mail.Ru

    Время компиляции файла: 2024-08-30 11:47:00
    2025-07-04 17:08:34/0.0084671974182129/0