DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
dunedaq::oks::Oks::Tokenizer Class Reference

String tokenizer. More...

#include <defs.hpp>

Public Member Functions

 Tokenizer (const std::string &s, const char *separator)
const std::string next ()
bool next (std::string &)

Private Attributes

std::string p_string
const char * p_delimeters
std::string::size_type p_idx

Static Private Attributes

static std::string s_empty

Detailed Description

String tokenizer.

Definition at line 58 of file defs.hpp.

Constructor & Destructor Documentation

◆ Tokenizer()

dunedaq::oks::Oks::Tokenizer::Tokenizer ( const std::string & s,
const char * separator )

Definition at line 182 of file time.cpp.

183 : p_string(s)
184 , p_delimeters(d)
185 , p_idx(p_string.find_first_not_of(p_delimeters))
186{
187}
std::string::size_type p_idx
Definition defs.hpp:69
const char * p_delimeters
Definition defs.hpp:68

Member Function Documentation

◆ next() [1/2]

const std::string dunedaq::oks::Oks::Tokenizer::next ( )

Definition at line 190 of file time.cpp.

191{
192 if (p_idx == std::string::npos)
193 return s_empty;
194 std::string::size_type end_idx = p_string.find_first_of(p_delimeters, p_idx);
195 if (end_idx == std::string::npos)
196 end_idx = p_string.length();
197 std::string token = p_string.substr(p_idx, end_idx - p_idx);
198 p_idx = p_string.find_first_not_of(p_delimeters, end_idx);
199 return token;
200}
static std::string s_empty
Definition defs.hpp:71

◆ next() [2/2]

bool dunedaq::oks::Oks::Tokenizer::next ( std::string & token)

Definition at line 203 of file time.cpp.

204{
205 if (p_idx == std::string::npos) {
206 token.clear();
207 return false;
208 }
209
210 std::string::size_type end_idx = p_string.find_first_of(p_delimeters, p_idx);
211 if (end_idx == std::string::npos)
212 end_idx = p_string.length();
213 token.assign(p_string, p_idx, end_idx - p_idx);
214 p_idx = p_string.find_first_not_of(p_delimeters, end_idx);
215 return true;
216}

Member Data Documentation

◆ p_delimeters

const char* dunedaq::oks::Oks::Tokenizer::p_delimeters
private

Definition at line 68 of file defs.hpp.

◆ p_idx

std::string::size_type dunedaq::oks::Oks::Tokenizer::p_idx
private

Definition at line 69 of file defs.hpp.

◆ p_string

std::string dunedaq::oks::Oks::Tokenizer::p_string
private

Definition at line 67 of file defs.hpp.

◆ s_empty

std::string dunedaq::oks::Oks::Tokenizer::s_empty
staticprivate

Definition at line 71 of file defs.hpp.


The documentation for this class was generated from the following files: