Class template pattern_replacer
boost::log::expressions::pattern_replacer
Synopsis
template<typename CharT>
class pattern_replacer {
public:
typedef void result_type;
typedef CharT char_type;
typedef std::basic_string< char_type > string_type;
struct string_lengths {
unsigned int from_len;
unsigned int to_len;
};
template<typename RangeT> explicit pattern_replacer(RangeT const &);
template<typename FromRangeT, typename ToRangeT>
pattern_replacer(FromRangeT const &, ToRangeT const &);
pattern_replacer(pattern_replacer const &);
result_type operator()(string_type &, typename string_type::size_type = 0) const;
static char_type * string_begin(char_type *);
static const char_type * string_begin(const char_type *);
template<typename RangeT>
static range_const_iterator< RangeT >::type string_begin(RangeT const &);
static char_type * string_end(char_type *);
static const char_type * string_end(const char_type *);
template<typename RangeT>
static range_const_iterator< RangeT >::type string_end(RangeT const &);
};
Description
Простая реализация декоратора персонажей. Эта реализация заменяет шаблоны строк в строке источника с фиксированной заменой. Модели источников и замены могут быть указаны при строительстве объекта.
pattern_replacer
public
construct/copy/destruct
- <
template<typenameRangeT>
explicitpattern_replacer(RangeTconst&decorations);
>Начало строительства. Создает шаблонный заменитель с указаннымидекорациями. Предоставляемые декорации должны быть последовательностью<std::pair
>струн. Первым элементом каждой пары является исходный рисунок, а вторым — соответствующая замена.
- <
template<typenameFromRangeT,typenameToRangeT>
pattern_replacer(FromRangeTconst&from,ToRangeTconst&to);
>Инициирование конструктора. Создает заменитель рисунка с украшениями, указанными в виде двух однотипных струнных последовательностей. Каждый<i
><from[i]
>[<to[i]
>] [<to[i]
>] [[<to[i]
>]] [[<from[i]
>]] [[[<to[i]
>]]] [[[[]]]] [[[[[[]]]]]] [[[[[]]]]]]] [[[[[[]]]]][[[[[[[]]]]]]]][[[[[[]]]]]][[[[[[]]]]]]][[[[[[[]]]]]]][[[[[]]]]]][[[[[[]]]]]]][[[[[[]]]]]]][[[[[[]]]]]]][[[[[[[]]]]]]][[[[[[]]]]]]][[[[[[]]]]]]][[[[[[]]]]]]][[[[[[[]]]]]]][[[
- <
pattern_replacer(pattern_replacerconst&that);
>Копировать конструктор.
pattern_replacer
public member functions
- <
result_typeoperator()(string_type&str,
typenamestring_type::size_typestart_pos=0)const;
>Применяет струнные замены, начиная с указанного положения.
pattern_replacer
private static functions
- <
staticchar_type*string_begin(char_type*p);
>
- <
staticconstchar_type*string_begin(constchar_type*p);
>
- <
template<typenameRangeT>
staticrange_const_iterator<RangeT>::typestring_begin(RangeTconst&r);
>
- <
staticchar_type*string_end(char_type*p);
>
- <
staticconstchar_type*string_end(constchar_type*p);
>
- <
template<typenameRangeT>
staticrange_const_iterator<RangeT>::typestring_end(RangeTconst&r);
>