| 1457 | } |
| 1458 | |
| 1459 | static string_ref::state_type copy_construct(const string_ref& base) noexcept |
| 1460 | { |
| 1461 | const shared_string_ref& s = static_cast<const shared_string_ref&>(base); |
| 1462 | const string_arena_base* a = s.get_arena(); |
| 1463 | if (a) a->ref_count.fetch_add(1, std::memory_order_relaxed); |
| 1464 | return s.state(); |
| 1465 | } |
| 1466 | |
| 1467 | static string_ref::state_type move_construct(string_ref&& base) noexcept |
| 1468 | { |