intrusive_node.tpp 448 B

123456789101112131415161718192021222324252627
  1. //
  2. // intrusive_node.hpp
  3. // utilities
  4. //
  5. // Created by Sam Jaffe on 5/10/13.
  6. // Copyright (c) 2013 Sam Jaffe. All rights reserved.
  7. //
  8. #pragma once
  9. #include "intrusive_node.hpp"
  10. template <typename T>
  11. intrusive_node<T>::intrusive_node(pointer ptr) :
  12. ptr_(ptr) {
  13. }
  14. template <typename T>
  15. intrusive_node<T>::~intrusive_node() {
  16. unlink();
  17. }
  18. template <typename T>
  19. void intrusive_node<T>::unlink() {
  20. if (list_) { list_->remove(ptr_); }
  21. }