30typedef std::string Segment;
31typedef std::map<Segment, unsigned int> SegmentMap;
32typedef SegmentMap::iterator SegmentMapIter;
33typedef SegmentMap::const_iterator SegmentMapConstIter;
39RBTDLL_EXPORT std::string GetRoot();
44RBTDLL_EXPORT std::string GetProgramName();
46RBTDLL_EXPORT std::string GetMetaDataPrefix();
48RBTDLL_EXPORT std::string GetCopyright();
50RBTDLL_EXPORT std::string GetProgramVersion();
52RBTDLL_EXPORT std::string GetProduct();
56RBTDLL_EXPORT std::string GetCurrentWorkingDirectory();
72std::string GetDirName(
const std::string &strSubdir =
"");
77RBTDLL_EXPORT std::string GetDataFileName(
const std::string &strSubdir,
78 const std::string &strFile);
83std::string GetFileType(
const std::string &strFile);
89std::vector<std::string> GetDirList(
const std::string &strDir,
90 const std::string &strFilePrefix =
"",
91 const std::string &strFileType =
"");
99RBTDLL_EXPORT SegmentMap ConvertStringToSegmentMap(
100 const std::string &strSegments,
const std::string &strDelimiter =
",");
102std::string ConvertSegmentMapToString(
const SegmentMap &segmentMap,
103 const std::string &strDelimiter =
",");
108SegmentMap SegmentDiffMap(
const SegmentMap &map1,
const SegmentMap &map2);
113RBTDLL_EXPORT std::vector<std::string>
114ConvertDelimitedStringToList(
const std::string &strValues,
115 const std::string &strDelimiter =
",");
118ConvertListToDelimitedString(
const std::vector<std::string> &listOfValues,
119 const std::string &strDelimiter =
",");
122std::string WrapTextToTerminalWidth(
const std::string &text);
134RBTDLL_EXPORT std::ostream &
135PrintStdHeader(std::ostream &s,
const std::string &strExecutable =
"");
137RBTDLL_EXPORT std::ostream &
138PrintBibliographyItem(std::ostream &s,
const std::string &publicationKey =
"");
149typedef int streamsize;
152RBTDLL_EXPORT
void WriteWithThrow(std::ostream &ostr,
const char *p,
154RBTDLL_EXPORT
void ReadWithThrow(std::istream &istr,
char *p, streamsize n);