diff options
| author | Tyge Løvset <[email protected]> | 2021-02-13 22:05:50 +0100 |
|---|---|---|
| committer | GitHub <[email protected]> | 2021-02-13 22:05:50 +0100 |
| commit | bac6c38262e3bf56fa1cb750aa210090b8e6e6c9 (patch) | |
| tree | a5813027dfdc2a2306366b37519802b52e77494d | |
| parent | c7b1b2b16e31b2d041bc9fb9c29f60cce8db6e59 (diff) | |
| download | STC-modified-bac6c38262e3bf56fa1cb750aa210090b8e6e6c9.tar.gz STC-modified-bac6c38262e3bf56fa1cb750aa210090b8e6e6c9.zip | |
Update README.md
| -rw-r--r-- | README.md | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -206,7 +206,7 @@ FAQ **A**: It uses open addressing which holds all buckets in one block of memory. It has a separate array for precomputed hashes/used buckets - one byte per bucket. Further if avoids modulus operations and erases elements without leaving tombstones. Modern architechtures favors simple code and cached memory access, so linear probing is actually as fast or faster than the more advanced Robin Hood and Hopscotch hashing schemes, which also requires tombstones. **cmap** does not rely on wasteful power-of-two array sizes, it actually expands only by 1.5x when required.
-**Q**: Why can **cvec_str_emplace_back()** take a `const char *` argument, when its value type `cstr` cannot be directly assigned from a `const char *`*?
+**Q**: Why can **cvec_str_emplace_back()** take `const char *` argument when its value type `cstr` cannot be directly assigned from a `const char *`?
**A**: STC containers simulates automatic type convertion found in c++. Most containers can take an optional "rawvalue" type as template parameter in the **using_**-declaration, along with back and forth convertion methods to the container value type. By default, rawvalue is equal to value. Various **emplace()**, **cmap_put()** and lookup methods accepts the rawvalue type, which is convenient e.g. for strings.
|
