8#ifndef INCLUDED_BDLB_TOKENIZER
9#define INCLUDED_BDLB_TOKENIZER
566#include <bdlscm_version.h>
568#include <bsl_string.h>
577#include <bsl_iterator.h>
614 char d_charTypes[k_MAX_CHARS];
677#ifdef BSLS_COMPILERFEATURES_SUPPORT_DEFAULTED_FUNCTIONS
708#if defined(BSLS_LIBRARYFEATURES_STDCPP_LIBCSTD)
713 :
public bsl::iterator<bsl::input_iterator_tag,
717 const bslstl::StringRef>
724 const char *d_cursor_p;
725 const char *d_token_p;
726 const char *d_postDelim_p;
847 const char *d_input_p;
848 const char *d_cursor_p;
849 const char *d_prevDelim_p;
850 const char *d_token_p;
851 const char *d_postDelim_p;
866 void resetImpl(
const char *input,
const char *endOfInput);
1051 return d_charTypes[
static_cast<unsigned char>(character)];
1131 if (lhs.d_endFlag != rhs.d_endFlag) {
1136 if (
lhs.d_endFlag &&
rhs.d_endFlag) {
1140 return lhs.d_token_p ==
rhs.d_token_p;
Definition bdlb_tokenizer.h:719
friend bool operator!=(const TokenizerIterator &, const TokenizerIterator &)
Tokenizer_Proxy pointer
Definition bdlb_tokenizer.h:748
bslstl::StringRef value_type
Definition bdlb_tokenizer.h:746
TokenizerIterator(const TokenizerIterator &origin)
TokenizerIterator & operator++()
const bslstl::StringRef operator*() const
Definition bdlb_tokenizer.h:1076
friend bool operator==(const TokenizerIterator &, const TokenizerIterator &)
Tokenizer_Proxy operator->() const
Definition bdlb_tokenizer.h:1084
bsl::input_iterator_tag iterator_category
Definition bdlb_tokenizer.h:753
const bslstl::StringRef reference
Definition bdlb_tokenizer.h:749
int difference_type
Definition bdlb_tokenizer.h:747
TokenizerIterator & operator=(const TokenizerIterator &rhs)
Definition bdlb_tokenizer.h:608
int inputType(char character) const
Definition bdlb_tokenizer.h:1049
Tokenizer_Data(const bsl::string_view &softDelimiters, const bsl::string_view &hardDelimiters)
Tokenizer_Data(const bsl::string_view &softDelimiters)
Definition bdlb_tokenizer.h:662
Tokenizer_Proxy(const bsl::string_view &obj)
Create a ProxyHolder object with a copy the specified obj.
Definition bdlb_tokenizer.h:1059
const bslstl::StringRef * operator->() const
Return a pointer to the object contained by the Tokenizer_Proxy.
Definition bdlb_tokenizer.h:1066
Definition bdlb_tokenizer.h:843
void reset(const bsl::string_view &input)
bool isValid() const
Definition bdlb_tokenizer.h:1096
~Tokenizer()
Destroy this object.
Tokenizer(const bsl::string_view &input, const bsl::string_view &soft, const bsl::string_view &hard)
bool hasTrailingSoft() const
bslstl::StringRef token() const
Definition bdlb_tokenizer.h:1108
bslstl::StringRef trailingDelimiter() const
Definition bdlb_tokenizer.h:1116
TokenizerIterator iterator
Definition bdlb_tokenizer.h:876
bslstl::StringRef previousDelimiter() const
Definition bdlb_tokenizer.h:1102
Tokenizer(const char *input, const bsl::string_view &soft)
bool isTrailingHard() const
Tokenizer(const bsl::string_view &input, const bsl::string_view &soft)
bool hasPreviousSoft() const
Tokenizer(const char *input, const bsl::string_view &soft, const bsl::string_view &hard)
bool isPreviousHard() const
void reset(const char *input)
Definition bslstl_stringview.h:471
Definition bslstl_stringref.h:374
#define BSLS_IDENT(str)
BSLS_IDENT() - insert string into .comment binary segment (if supported)
Definition bsls_ident.h:238
#define BSLS_KEYWORD_DELETED
Definition bsls_keyword.h:651
#define BSLS_REVIEW(X)
Definition bsls_review.h:1019
Definition bdlb_algorithmworkaroundutil.h:74
bool operator!=(const BigEndianInt16 &lhs, const BigEndianInt16 &rhs)
FunctionOutputIterator< FUNCTION > & operator++(FunctionOutputIterator< FUNCTION > &iterator)
Do nothing and return specified iterator.
Definition bdlb_functionoutputiterator.h:408
bool operator==(const BigEndianInt16 &lhs, const BigEndianInt16 &rhs)
ALLOCATOR const STRING_VIEW_LIKE_TYPE & rhs
Definition bslstl_string.h:3918
ALLOCATOR & lhs
Definition bslstl_string.h:3917
StringRefImp< char > StringRef
Definition bslstl_stringref.h:725