mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-06-01 18:22:27 +00:00
CTL: utility.h, use ctl::swap in string (#1227)
* Add ctl utility.h Implements forward, move, swap, and declval. This commit also adds a def for nullptr_t to cxx.inc. We need it now because the CTL headers stopped including anything from libc++, so we no longer get their basic types. * Use ctl::swap in string The STL spec says that swap is located in the string_view header anyawy. Performance-wise this is a noop, but it’s slightly cleaner.
This commit is contained in:
parent
a795017416
commit
9a5a13854d
13 changed files with 117 additions and 46 deletions
|
@ -87,10 +87,7 @@ class string
|
|||
|
||||
void swap(string& s) noexcept
|
||||
{
|
||||
char tmp[__::string_size];
|
||||
__builtin_memcpy(tmp, blob, __::string_size);
|
||||
__builtin_memcpy(blob, s.blob, __::string_size);
|
||||
__builtin_memcpy(s.blob, tmp, __::string_size);
|
||||
ctl::swap(blob, s.blob);
|
||||
}
|
||||
|
||||
string(string&& s) noexcept
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue