| 524 | } |
| 525 | |
| 526 | HOSTDEVICE static inline void PD_PString_Move(PD_PString *dst, |
| 527 | PD_PString *src) { |
| 528 | if (dst == src) return; |
| 529 | |
| 530 | PD_PString_Dealloc(dst); |
| 531 | |
| 532 | switch (PD_PString_GetType(src)) { |
| 533 | case PD_PSTR_SMALL: |
| 534 | case PD_PSTR_VIEW: |
| 535 | *dst = *src; |
| 536 | return; |
| 537 | case PD_PSTR_LARGE: |
| 538 | *dst = *src; |
| 539 | PD_PString_Init(src); |
| 540 | return; |
| 541 | case PD_PSTR_OFFSET: { |
| 542 | const char *src_c = PD_PString_GetDataPointer(src); |
| 543 | size_t size = PD_PString_GetSize(src); |
| 544 | |
| 545 | PD_PString_AssignView(dst, src_c, size); |
| 546 | } |
| 547 | return; |
| 548 | default: |
| 549 | return; // Unreachable. |
| 550 | } |
| 551 | } |
no test coverage detected