Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
further snake_case NetZone
[simgrid.git] / include / xbt / utility.hpp
index e577631..df3fbf4 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2016-2017. The SimGrid Team.
+/* Copyright (c) 2016-2018. The SimGrid Team.
  * All rights reserved.                                                     */
 
 /* This program is free software; you can redistribute it and/or modify it
@@ -22,6 +22,13 @@ public:
   bool operator()(const Pair& a, const Pair& b) const { return a.first > b.first; }
 };
 
+/** @brief Erase an element given by reference from a boost::intrusive::list.
+ */
+template <class List, class Elem> inline void intrusive_erase(List& list, Elem& elem)
+{
+  list.erase(list.iterator_to(elem));
+}
+
 // integer_sequence and friends from C++14
 // We need them to implement `apply` from C++17.