mirror of
https://github.com/mongodb/mongo.git
synced 2024-12-01 09:32:32 +01:00
32 lines
831 B
Markdown
32 lines
831 B
Markdown
# String Manipulation
|
|
|
|
For string manipulation, use the util/mongoutils/str.h library.
|
|
|
|
## `str.h`
|
|
|
|
`util/mongoutils/str.h` provides string helper functions for each manipulation.
|
|
|
|
`str::stream()` is quite useful for assembling strings inline:
|
|
```
|
|
uassert(12345, str::stream() << "bad ns:" << ns, isOk);
|
|
```
|
|
|
|
## `StringData`
|
|
|
|
```
|
|
/** A StringData object wraps a 'const std::string&' or a 'const char*' without
|
|
* copying its contents. The most common usage is as a function argument that
|
|
* takes any of the two forms of strings above. Fundamentally, this class tries
|
|
* to work around the fact that string literals in C++ are char[N]'s.
|
|
*
|
|
* Important: the object StringData wraps must remain alive while the StringData
|
|
* is.
|
|
*/
|
|
class StringData {
|
|
```
|
|
|
|
See also [`bson/string_data.h`][1].
|
|
|
|
|
|
[1]: ../src/mongo/base/string_data.h
|