| 390 | } |
| 391 | } |
| 392 | __forceinline bool delRef() { |
| 393 | DAS_TRACK_SMART_PTR_ID |
| 394 | if ( ref_count==0 || magic!=0x1ee7c0de ) { |
| 395 | DAS_FATAL_ERROR("%p ref_count=%i, magic=%08x, object was deleted or corrupted", (void *)this, ref_count, magic); |
| 396 | } |
| 397 | if ( --ref_count==0 ) { |
| 398 | DAS_TRACK_SMART_PTR_ID_DTOR |
| 399 | delete this; |
| 400 | return true; |
| 401 | } else { |
| 402 | return false; |
| 403 | } |
| 404 | } |
| 405 | __forceinline unsigned int use_count() const { |
| 406 | return ref_count; |
| 407 | } |