MCPcopy Create free account
hub / github.com/catboost/catboost / TBasicStringBuf

Class TBasicStringBuf

util/generic/strbuf.h:16–559  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

14
15template <typename TCharType, typename TTraits>
16class TBasicStringBuf: public std::basic_string_view<TCharType>,
17 public TStringBase<TBasicStringBuf<TCharType, TTraits>, TCharType, TTraits> {
18private:
19 using TdSelf = TBasicStringBuf;
20 using TBase = TStringBase<TdSelf, TCharType, TTraits>;
21 using TStringView = std::basic_string_view<TCharType>;
22
23public:
24 using char_type = TCharType; // TODO: DROP
25 using traits_type = TTraits;
26
27 // Resolving some ambiguity between TStringBase and std::basic_string_view
28 // for typenames
29 using typename TStringView::const_iterator;
30 using typename TStringView::const_reference;
31 using typename TStringView::const_reverse_iterator;
32 using typename TStringView::iterator;
33 using typename TStringView::reference;
34 using typename TStringView::reverse_iterator;
35 using typename TStringView::size_type;
36 using typename TStringView::value_type;
37
38 // for constants
39 using TStringView::npos;
40
41 // for methods and operators
42 using TStringView::begin;
43 using TStringView::cbegin;
44 using TStringView::cend;
45 using TStringView::crbegin;
46 using TStringView::crend;
47 using TStringView::end;
48 using TStringView::rbegin;
49 using TStringView::rend;
50
51 using TStringView::data;
52 using TStringView::empty;
53 using TStringView::size;
54
55 using TStringView::operator[];
56
57 /*
58 * WARN:
59 * TBase::at silently return 0 in case of range error,
60 * while std::string_view throws std::out_of_range.
61 */
62 using TBase::at;
63 using TStringView::back;
64 using TStringView::front;
65
66 using TStringView::find;
67 /*
68 * WARN:
69 * TBase::*find* methods take into account TCharTraits,
70 * while TTStringView::*find* would use default std::char_traits.
71 */
72 using TBase::find_first_not_of;
73 using TBase::find_first_of;

Callers 1

SubStringMethod · 0.70

Calls 4

substrFunction · 0.85
minFunction · 0.50
sizeFunction · 0.50
remove_prefixMethod · 0.45

Tested by

no test coverage detected