template <typename Delimiter, typename Predicate, typename StringType>
class Splitter
Defined at line 288 of file ../../third_party/abseil-cpp/src/absl/strings/internal/str_split_internal.h
This class implements the range that is returned by absl::StrSplit(). This
class has templated conversion operators that allow it to be implicitly
converted to a variety of types that the caller may have specified on the
left-hand side of an assignment.
The main interface for interacting with this class is through its implicit
conversion operators. However, this class may also be used like a container
in that it has .begin() and .end() member functions. It may also be used
within a range-for loop.
Output containers can be collections of any type that is constructible from
an absl::string_view.
An Predicate functor may be supplied. This predicate will be used to filter
the split strings: only strings for which the predicate returns true will be
kept. A Predicate object is any unary functor that takes an absl::string_view
and returns bool.
The StringType parameter can be either string_view or string, depending on
whether the Splitter refers to a string stored elsewhere, or if the string
resides inside the Splitter itself.
Public Methods
void Splitter<Delimiter, Predicate, StringType> (StringTypeinput_text,Delimiterd,Predicatep)
Defined at line 295 of file ../../third_party/abseil-cpp/src/absl/strings/internal/str_split_internal.h
absl::string_view text ()
Defined at line 300 of file ../../third_party/abseil-cpp/src/absl/strings/internal/str_split_internal.h
const Delimiter & delimiter ()
Defined at line 301 of file ../../third_party/abseil-cpp/src/absl/strings/internal/str_split_internal.h
const Predicate & predicate ()
Defined at line 302 of file ../../third_party/abseil-cpp/src/absl/strings/internal/str_split_internal.h
const_iterator begin ()
Range functions that iterate the split substrings as absl::string_view
objects. These methods enable a Splitter to be used in a range-based for
loop.
Defined at line 307 of file ../../third_party/abseil-cpp/src/absl/strings/internal/str_split_internal.h
const_iterator end ()
Defined at line 308 of file ../../third_party/abseil-cpp/src/absl/strings/internal/str_split_internal.h
template <typename Container, std::enable_if_t<ShouldUseLifetimeBound<StringType, Container>::value && SplitterIsConvertibleTo<Container>::value, std::nullptr_t> = nullptr>
Container operator Container ()
NOLINTNEXTLINE(google-explicit-constructor)
Defined at line 318 of file ../../third_party/abseil-cpp/src/absl/strings/internal/str_split_internal.h
template <typename Container, std::enable_if_t<!ShouldUseLifetimeBound<StringType, Container>::value && SplitterIsConvertibleTo<Container>::value, std::nullptr_t> = nullptr>
Container operator Container ()
NOLINTNEXTLINE(google-explicit-constructor)
Defined at line 329 of file ../../third_party/abseil-cpp/src/absl/strings/internal/str_split_internal.h
template <typename First,typename Second,std::enable_if_t< ShouldUseLifetimeBoundForPair<StringType, First, Second>::value, std::nullptr_t> = nullptr>
std::pair<First, Second> operator std::pair<type-parameter-1-0, type-parameter-1-1> ()
NOLINTNEXTLINE(google-explicit-constructor)
Defined at line 343 of file ../../third_party/abseil-cpp/src/absl/strings/internal/str_split_internal.h
template <typename First,typename Second,std::enable_if_t<!ShouldUseLifetimeBoundForPair<StringType, First, Second>::value, std::nullptr_t> = nullptr>
std::pair<First, Second> operator std::pair<type-parameter-1-0, type-parameter-1-1> ()
NOLINTNEXTLINE(google-explicit-constructor)
Defined at line 352 of file ../../third_party/abseil-cpp/src/absl/strings/internal/str_split_internal.h
template <typename ElementType,std::size_t Size,std::enable_if_t<ShouldUseLifetimeBoundForArray< StringType, ElementType, Size>::value, std::nullptr_t> = nullptr>
std::array<ElementType, Size> operator std::array<type-parameter-1-0, value-parameter-1-1> ()
NOLINTNEXTLINE(google-explicit-constructor)
Defined at line 364 of file ../../third_party/abseil-cpp/src/absl/strings/internal/str_split_internal.h
template <typename ElementType,std::size_t Size,std::enable_if_t<!ShouldUseLifetimeBoundForArray< StringType, ElementType, Size>::value, std::nullptr_t> = nullptr>
std::array<ElementType, Size> operator std::array<type-parameter-1-0, value-parameter-1-1> ()
NOLINTNEXTLINE(google-explicit-constructor)
Defined at line 373 of file ../../third_party/abseil-cpp/src/absl/strings/internal/str_split_internal.h