icedb
version 0.5.1
Snow particle scattering database API
|
Classes | |
class | intervals |
Class to define and search on intervals. More... | |
Functions | |
template<class T > | |
void | stringifyRange (const T &Tstart, const T &Tend, const T &Tinterval, const std::string &Tspecializer, std::string &out) |
template<class T > | |
void | splitSet (const T &start, const T &end, const T &interval, const std::string &specializer, std::set< T > &expanded) |
Shortcut that already passes parsed ICEDB_LOG_INFOrmation. More... | |
DOTYPES (SPEC_SPLITSET_A) | |
template<class T > | |
void | extractInterval (const std::string &instr, T &start, T &end, T &interval, size_t &num, std::string &specializer) |
Extracts ICEDB_LOG_INFOrmation from interval notation. More... | |
DOTYPES (SPEC_SPLITSET_INTERVAL) | |
template<class T > | |
void | splitSet (const std::string &instr, std::set< T > &expanded, const std::map< std::string, std::string > *aliases) |
template<> | |
void | splitSet< std::string > (const std::string &instr, std::set< std::string > &expanded, const std::map< std::string, std::string > *aliases) |
DOTYPES (SPEC_SPLITSET) | |
void | splitVector (const std::string &instr, std::vector< std::string > &out, char delim='\0') |
Convenience function to split a null-separated string list into a vector of strings. More... | |
void | splitNullMap (const std::string &instr, std::map< std::string, std::string > &out) |
Convenience function to split a null-separated string list into a map of strings. More... | |
DOTYPES (IMPL_INTS) | |
void | splitNullVector (const std::string &instr, std::vector< std::string > &out) |
icedb::splitSet::DOTYPES | ( | SPEC_SPLITSET_A | ) |
icedb::splitSet::DOTYPES | ( | SPEC_SPLITSET_INTERVAL | ) |
icedb::splitSet::DOTYPES | ( | SPEC_SPLITSET | ) |
icedb::splitSet::DOTYPES | ( | IMPL_INTS | ) |
void icedb::splitSet::extractInterval | ( | const std::string & | instr, |
T & | start, | ||
T & | end, | ||
T & | interval, | ||
size_t & | num, | ||
std::string & | specializer | ||
) |
Extracts ICEDB_LOG_INFOrmation from interval notation.
Definition at line 180 of file splitSet.cpp.
References ICEDB_throw, and icedb::error::xInvalidRange.
Referenced by icedb::splitSet::intervals< T >::append().
void icedb::splitSet::splitNullMap | ( | const std::string & | instr, |
std::map< std::string, std::string > & | out | ||
) |
Convenience function to split a null-separated string list into a map of strings.
Commonly-used to split up the results of a Ryan_Debug::ProcessICEDB_LOG_INFO environment structure.
Definition at line 390 of file splitSet.cpp.
Referenced by splitNullVector().
|
inline |
Definition at line 46 of file splitSet.hpp.
References splitNullMap(), and splitVector().
void icedb::splitSet::splitSet | ( | const T & | Tstart, |
const T & | Tend, | ||
const T & | Tinterval, | ||
const std::string & | Tspecializer, | ||
std::set< T > & | expanded | ||
) |
Shortcut that already passes parsed ICEDB_LOG_INFOrmation.
Definition at line 37 of file splitSet.cpp.
References ICEDB_throw, stringifyRange(), icedb::error::xDivByZero, and icedb::error::xInvalidRange.
Referenced by icedb::splitSet::intervals< T >::append().
void icedb::splitSet::splitSet | ( | const std::string & | instr, |
std::set< T > & | expanded, | ||
const std::map< std::string, std::string > * | aliases = nullptr |
||
) |
Function that expands sets of numbers with separators of commas, dashes and colons.
Definition at line 254 of file splitSet.cpp.
References ICEDB_throw, and icedb::error::xInvalidRange.
void icedb::splitSet::splitSet< std::string > | ( | const std::string & | instr, |
std::set< std::string > & | expanded, | ||
const std::map< std::string, std::string > * | aliases | ||
) |
Specialization for splitting strings. These objects have no ranges to be compared against.
Definition at line 323 of file splitSet.cpp.
void icedb::splitSet::splitVector | ( | const std::string & | instr, |
std::vector< std::string > & | out, | ||
char | delim = '\0' |
||
) |
Convenience function to split a null-separated string list into a vector of strings.
Commonly-used to split up the results of a Ryan_Debug::ProcessICEDB_LOG_INFO command-line structure.
Definition at line 365 of file splitSet.cpp.
Referenced by icedb::splitSet::intervals< T >::append(), and splitNullVector().
void icedb::splitSet::stringifyRange | ( | const T & | Tstart, |
const T & | Tend, | ||
const T & | Tinterval, | ||
const std::string & | Tspecializer, | ||
std::string & | out | ||
) |
Definition at line 23 of file splitSet.cpp.
Referenced by splitSet().