X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=base%2Fstr.hh;h=79e33a1be6fc6f5273bc4455087158b39a5f5d2b;hb=690399614c3bc9ee46bee2a86b9558efbbf3b51a;hp=6c3453b8bc0387edbb344fd7de8fd72d7cfbbc8e;hpb=f47dcadfd8b50e97b51c05b72f19063b39686a7c;p=gem5.git diff --git a/base/str.hh b/base/str.hh index 6c3453b8b..79e33a1be 100644 --- a/base/str.hh +++ b/base/str.hh @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003 The Regents of The University of Michigan + * Copyright (c) 2001-2005 The Regents of The University of Michigan * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -90,6 +90,20 @@ to_lower(const std::string &s) return lower; } +// Split the string s into lhs and rhs on the first occurence of the +// character c. +bool +split_first(const std::string &s, std::string &lhs, std::string &rhs, char c); + +// Split the string s into lhs and rhs on the last occurence of the +// character c. +bool +split_last(const std::string &s, std::string &lhs, std::string &rhs, char c); + +// Tokenize the string splitting on the character , and +// place the result in the string vector . If is true, +// then empty result strings (due to trailing tokens, or consecutive +// tokens) are skipped. void tokenize(std::vector &vector, const std::string &s, char token, bool ign = true); @@ -99,7 +113,7 @@ to_number(const std::string &value, T &retval); template inline std::string -to_string(const T& value) +to_string(const T &value) { std::stringstream str; str << value;