|
| constexpr | zview () noexcept=default |
| |
| constexpr | zview (char const text[], std::ptrdiff_t len) |
| | Convenience overload: construct using pointer and signed length. More...
|
| |
| constexpr | zview (char text[], std::ptrdiff_t len) |
| | Convenience overload: construct using pointer and signed length. More...
|
| |
| template<typename... Args> |
| constexpr | zview (Args &&...args) |
| | Construct from any initialiser you might use for std::string_view. More...
|
| |
| | zview (std::string const &str) |
| |
| constexpr | zview (char const str[]) |
| | Construct a zview from a C-style string. More...
|
| |
| template<size_t size> |
| constexpr | zview (char const (&literal)[size]) |
| |
| constexpr char const * | c_str () const noexcept |
| | Either a null pointer, or a zero-terminated text buffer. More...
|
| |
Marker-type wrapper: zero-terminated std::string_view.
- Warning
- Use this only if the underlying string is zero-terminated.
When you construct a zview, you are promising that if the data pointer is non-null, the underlying string is zero-terminated. It otherwise behaves exactly like a std::string_view.
The terminating zero is not "in" the string, so it does not count as part of the view's length.
The added guarantee lets the view be used as a C-style string, which often matters since libpqxx builds on top of a C library. For this reason, zview also adds a c_str method.