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

Struct template basic_regex

Boost , The Boost C++ Libraries BoostBook Documentation Subset , Reference

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

Struct template basic_regex

boost::xpressive::basic_regex — Class template basic_regex<> is a class for holding a compiled regular expression.

Synopsis

// In header: <boost/xpressive/basic_regex.hpp>
template<typename BidiIter> 
struct basic_regex {
  // types
  typedef BidiIter                            iterator_type;
  typedef iterator_value< BidiIter >::type    char_type;    
  typedef iterator_value< BidiIter >::type    value_type;   
  typedef unspecified                         string_type;  
  typedef regex_constants::syntax_option_type flag_type;    
  // construct/copy/destruct
  basic_regex();
  basic_regex(basic_regex< BidiIter > const &);
  template<typename Expr> basic_regex(Expr const &);
  basic_regex< BidiIter > & operator=(basic_regex< BidiIter > const &);
  template<typename Expr> basic_regex< BidiIter > & operator=(Expr const &);
  // public member functions
  std::size_t mark_count() const;
  regex_id_type regex_id() const;
  void swap(basic_regex< BidiIter > &);
  // public static functions
  template<typename InputIter> 
    static basic_regex< BidiIter > 
    compile(InputIter, InputIter, flag_type = regex_constants::ECMAScript);
  template<typename InputRange> 
    static basic_regex< BidiIter > 
    compile(InputRange const &, flag_type = regex_constants::ECMAScript);
  static basic_regex< BidiIter > 
  compile(char_type const *, flag_type = regex_constants::ECMAScript);
  static basic_regex< BidiIter > 
  compile(char_type const *, std::size_t, flag_type);
  // public data members
  static regex_constants::syntax_option_type const ECMAScript;
  static regex_constants::syntax_option_type const icase;
  static regex_constants::syntax_option_type const nosubs;
  static regex_constants::syntax_option_type const optimize;
  static regex_constants::syntax_option_type const collate;
  static regex_constants::syntax_option_type const single_line;
  static regex_constants::syntax_option_type const not_dot_null;
  static regex_constants::syntax_option_type const not_dot_newline;
  static regex_constants::syntax_option_type const ignore_white_space;
};

Description

basic_regex public construct/copy/destruct

  1. <
    basic_regex();
    >

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

    regex_id() == 0

    mark_count() == 0

  2. <
    basic_regex(basic_regex<BidiIter>const&that);
    >

    Параметры:

    <basic_regex>возражают против копирования.

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

    regex_id() == that.regex_id()

    mark_count() == that.mark_count()

  • <
    template<typenameExpr>basic_regex(Exprconst&expr);
    >

    Построение из статического регулярного выражения.

  • Параметры:

    <expr>

    Требования:

    Expr — тип статического регулярного выражения.

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

    regex_id()!= 0

    Mark_count() >= 0

  • <
    basic_regex<BidiIter>&operator=(basic_regex<BidiIter>const&that);
    >

    *это

    Параметры:

    <that><that>

    <basic_regex><basic_regex>

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

    regex_id() == that.regex_id()

    mark_count() == that.mark_count()

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

  • <
    template<typenameExpr>basic_regex<BidiIter>&operator=(Exprconst&expr);
    >

    Построение из статического регулярного выражения.

    Параметры:

    <expr>

    Требуется:

    Expr - это тип статического регулярного выражения.

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

    regex_id() != 0

    Mark_count() >= 0

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

    *это

    Бросок:

    std::bad_alloc on out of memory
  • basic_regex public member functions

    1. <
      std::size_tmark_count()const;
      >

      Возвращает счет захвата суб-выражений в этом регулярном выражении

    2. <
      regex_id_typeregex_id()const;
      >

      Возвращает маркер, который однозначно идентифицирует это регулярное выражение.

    3. <
      voidswap(basic_regex<BidiIter>&that);
      >

      Содержимое этого<basic_regex>объекта изменяется на другое.

      [Note]Примечание

      Это мелкий своп, который не отслеживает ссылки. Если вставить<basic_regex>объект посредством ссылки в другое регулярное выражение, а затем поменять его содержимое на другое<basic_regex>объект, изменение не будет видно на прилагающемся регулярном выражении. Это делается таким образом, чтобы гарантировать, что своп () не может бросать.

      Параметры:

      <that>

      Другой<basic_regex>объект.

      Бросает:

      Не буду бросать.

    basic_regex public static functions

    1. <
      template<typenameInputIter>
       staticbasic_regex<BidiIter>
       compile(InputIterbegin,InputIterend,
               flag_typeflags=regex_constants::ECMAScript);
      >

      Фабричный метод построения объекта регекса из ряда символов. Эквивалент<regex_compiler>< BidiIter >(.compile)(начало, конец, флаги);

      Параметры:

      <begin>

      Начало диапазона символов, представляющих регулярное выражение для компиляции.

      <end>

      Конец диапазона символов, представляющих регулярное выражение для компиляции.

      <flags>

      Факультативная битмаска, которая определяет, как интерпретируется пат-струна. (См. syntax_option_type.)

      [начало, конец] — действительный диапазон.

      Диапазон символов, указанных [началом, окончанием], содержит действительное струнное представление регулярного выражения.

      Возвращает:

      Abasic_regexобъект, соответствующий регулярному выражению, представленному диапазоном символов.

      Броски:

      regex_error, когда диапазон символов имеет недействительный синтаксис регулярного выражения.
    2. <
      template<typenameInputRange>
       staticbasic_regex<BidiIter>
       compile(InputRangeconst&pat,
               flag_typeflags=regex_constants::ECMAScript);
      >

      Это перегруженная функция члена, предусмотренная для удобства. Он отличается от вышеуказанной функции только тем, какие аргументы он принимает.

    3. <
      staticbasic_regex<BidiIter>
      compile(char_typeconst*begin,
             flag_typeflags=regex_constants::ECMAScript);
      >

      Это перегруженная функция члена, предусмотренная для удобства. Он отличается от вышеуказанной функции только тем, какие аргументы он принимает.

    4. <
      staticbasic_regex<BidiIter>
      compile(char_typeconst*begin,std::size_tlen,flag_typeflags);
      >

      Это перегруженная функция члена, предусмотренная для удобства. Он отличается от вышеуказанной функции только тем, какие аргументы он принимает.


    PrevUpHomeNext

    Статья Struct template basic_regex раздела The Boost C++ Libraries BoostBook Documentation Subset Reference может быть полезна для разработчиков на c++ и boost.




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



    :: Главная :: Reference ::


    реклама


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

    Время компиляции файла: 2024-08-30 11:47:00
    2025-05-20 06:08:14/0.0072050094604492/0