| 273 | } |
| 274 | |
| 275 | HOSTDEVICE static inline size_t PD_PString_GetSize(const PD_PString *str) { |
| 276 | switch (PD_PString_GetType(str)) { |
| 277 | case PD_PSTR_SMALL: |
| 278 | return str->u.small.size >> 2; |
| 279 | case PD_PSTR_LARGE: |
| 280 | return PD_PString_ToActualSizeT(str->u.large.size); |
| 281 | case PD_PSTR_OFFSET: |
| 282 | return PD_le32toh(str->u.offset.size) >> 2; |
| 283 | case PD_PSTR_VIEW: |
| 284 | return PD_PString_ToActualSizeT(str->u.view.size); |
| 285 | default: |
| 286 | return 0; // Unreachable. |
| 287 | } |
| 288 | } |
| 289 | |
| 290 | HOSTDEVICE static inline size_t PD_PString_GetCapacity(const PD_PString *str) { |
| 291 | switch (PD_PString_GetType(str)) { |
no test coverage detected