30#ifndef __CLAW_STRING_ALGORITHM_HPP__
31#define __CLAW_STRING_ALGORITHM_HPP__
39 template <
typename StreamType,
typename StringType>
40 StreamType& getline(StreamType& is, StringType& str);
42 template <
typename StringType>
43 void trim_left(StringType& str,
44 const typename StringType::value_type*
const s =
" ");
46 template <
typename StringType>
47 void trim_right(StringType& str,
48 const typename StringType::value_type*
const s =
" ");
50 template <
typename StringType>
51 void trim(StringType& str,
52 const typename StringType::value_type*
const s =
" ");
54 template <
typename StringType>
55 void squeeze(StringType& str,
56 const typename StringType::value_type*
const s);
58 template <
typename StringType>
59 std::size_t replace(StringType& str,
const StringType& e1,
60 const StringType& e2);
62 template <
typename T,
typename StringType>
63 bool is_of_type(
const StringType& str);
65 template <
typename Sequence>
66 void split(Sequence& sequence,
const typename Sequence::value_type& str,
67 const typename Sequence::value_type::value_type sep);
69 template <
typename Sequence>
70 void split(Sequence& sequence,
71 typename Sequence::value_type::const_iterator first,
72 typename Sequence::value_type::const_iterator last,
73 const typename Sequence::value_type::value_type sep);
75 template <
typename InputIterator,
typename OutputIterator>
76 void c_escape(InputIterator first, InputIterator last, OutputIterator out);
78 template <
typename StringType>
79 bool glob_match(
const StringType& pattern,
const StringType& text,
80 const typename StringType::value_type any_sequence =
'*',
81 const typename StringType::value_type zero_or_one =
'?',
82 const typename StringType::value_type any =
'.');
84 template <
typename StringType>
85 bool glob_potential_match(
86 const StringType& pattern,
const StringType& text,
87 const typename StringType::value_type any_sequence =
'*',
88 const typename StringType::value_type zero_or_one =
'?',
89 const typename StringType::value_type any =
'.');
94#include <claw/string_algorithm.tpp>
Everything about text processing.
This is the main namespace.