mirror of
https://github.com/YosysHQ/yosys
synced 2025-06-06 14:13:23 +00:00
Fixed cstr_buf for std::string with small string optimization
This commit is contained in:
parent
3a6abc9bf6
commit
4c733301e6
6 changed files with 16 additions and 5 deletions
|
@ -140,6 +140,17 @@ using std::vector;
|
|||
using std::string;
|
||||
using std::pair;
|
||||
|
||||
// A primitive shared string implementation that does not
|
||||
// move its .c_str() when the object is copied or moved.
|
||||
struct shared_str {
|
||||
std::shared_ptr<string> content;
|
||||
shared_str() { }
|
||||
shared_str(string s) { content = std::shared_ptr<string>(new string(s)); }
|
||||
shared_str(const char *s) { content = std::shared_ptr<string>(new string(s)); }
|
||||
const char *c_str() { return content->c_str(); }
|
||||
const string &str() { return *content; }
|
||||
};
|
||||
|
||||
using hashlib::mkhash;
|
||||
using hashlib::mkhash_init;
|
||||
using hashlib::mkhash_add;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue