]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Rename the corresponding header file.
authorWolfgang Bangerth <bangerth@colostate.edu>
Wed, 11 Sep 2024 22:45:04 +0000 (16:45 -0600)
committerWolfgang Bangerth <bangerth@colostate.edu>
Wed, 18 Sep 2024 23:44:54 +0000 (17:44 -0600)
95 files changed:
include/deal.II/algorithms/any_data.h
include/deal.II/algorithms/general_data_storage.h
include/deal.II/algorithms/timestep_control.h
include/deal.II/base/enable_ref_counting_by_observer_pointer.h [new file with mode: 0644]
include/deal.II/base/function.h
include/deal.II/base/logstream.h
include/deal.II/base/mg_level_object.h
include/deal.II/base/observer_pointer.h
include/deal.II/base/parameter_handler.h
include/deal.II/base/patterns.h
include/deal.II/base/polynomial.h
include/deal.II/base/polynomials_hermite.h
include/deal.II/base/polynomials_piecewise.h
include/deal.II/base/quadrature.h
include/deal.II/base/quadrature_point_data.h
include/deal.II/base/symbolic_function.h
include/deal.II/base/table.h
include/deal.II/base/tensor_function.h
include/deal.II/distributed/shared_tria.h
include/deal.II/distributed/tria.h
include/deal.II/distributed/tria_base.h
include/deal.II/dofs/block_info.h
include/deal.II/fe/fe_coupling_values.h
include/deal.II/fe/fe_series.h
include/deal.II/fe/fe_tools.h
include/deal.II/fe/fe_values.h
include/deal.II/fe/fe_values_base.h
include/deal.II/grid/composition_manifold.h
include/deal.II/grid/grid_tools_cache.h
include/deal.II/grid/manifold.h
include/deal.II/grid/tensor_product_manifold.h
include/deal.II/grid/tria.h
include/deal.II/hp/collection.h
include/deal.II/hp/mapping_collection.h
include/deal.II/hp/q_collection.h
include/deal.II/lac/affine_constraints.h
include/deal.II/lac/block_indices.h
include/deal.II/lac/block_sparse_matrix_ez.h
include/deal.II/lac/block_sparsity_pattern.h
include/deal.II/lac/block_vector_base.h
include/deal.II/lac/chunk_sparse_matrix.h
include/deal.II/lac/chunk_sparsity_pattern.h
include/deal.II/lac/dynamic_sparsity_pattern.h
include/deal.II/lac/la_parallel_vector.h
include/deal.II/lac/petsc_matrix_base.h
include/deal.II/lac/petsc_precondition.h
include/deal.II/lac/petsc_vector.h
include/deal.II/lac/petsc_vector_base.h
include/deal.II/lac/precondition_block.h
include/deal.II/lac/precondition_block_base.h
include/deal.II/lac/precondition_selector.h
include/deal.II/lac/read_write_vector.h
include/deal.II/lac/relaxation_block.h
include/deal.II/lac/solver.h
include/deal.II/lac/solver_bicgstab.h
include/deal.II/lac/solver_cg.h
include/deal.II/lac/solver_control.h
include/deal.II/lac/solver_gmres.h
include/deal.II/lac/solver_idr.h
include/deal.II/lac/solver_minres.h
include/deal.II/lac/solver_qmrs.h
include/deal.II/lac/solver_relaxation.h
include/deal.II/lac/sparse_direct.h
include/deal.II/lac/sparse_matrix.h
include/deal.II/lac/sparse_matrix_ez.h
include/deal.II/lac/sparsity_pattern.h
include/deal.II/lac/sparsity_pattern_base.h
include/deal.II/lac/tridiagonal_matrix.h
include/deal.II/lac/trilinos_epetra_vector.h
include/deal.II/lac/trilinos_precondition.h
include/deal.II/lac/trilinos_sparse_matrix.h
include/deal.II/lac/trilinos_sparsity_pattern.h
include/deal.II/lac/trilinos_tpetra_precondition.h
include/deal.II/lac/trilinos_tpetra_sparse_matrix.h
include/deal.II/lac/trilinos_tpetra_sparsity_pattern.h
include/deal.II/lac/trilinos_tpetra_vector.h
include/deal.II/lac/trilinos_vector.h
include/deal.II/lac/vector.h
include/deal.II/matrix_free/mapping_data_on_the_fly.h
include/deal.II/matrix_free/operators.h
include/deal.II/meshworker/local_integrator.h
include/deal.II/multigrid/mg_base.h
include/deal.II/multigrid/mg_constrained_dofs.h
include/deal.II/multigrid/multigrid.h
include/deal.II/non_matching/immersed_surface_quadrature.h
include/deal.II/numerics/data_postprocessor.h
include/deal.II/numerics/time_dependent.h
include/deal.II/particles/particle_handler.h
source/base/subscriptor.cc
tests/base/assign_subscriptor.cc
tests/base/reference.cc
tests/base/smart_pointer_01.cc
tests/base/smart_pointer_02.cc
tests/base/unsubscribe_subscriptor.cc
tests/base/unsubscribe_subscriptor_01.cc

index 05a1409c02fd8794abb18046b491f19716bf426c..a6680df6d9239481a2ca231bae73768bc56df7b6 100644 (file)
@@ -17,8 +17,8 @@
 
 #include <deal.II/base/config.h>
 
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #include <deal.II/base/exceptions.h>
-#include <deal.II/base/subscriptor.h>
 
 #include <algorithm>
 #include <any>
index ac0054888747ae1834ae60ed32f8fba9d3ccc040..8cfda5419eeb98267c652245f7b47885626dfde7 100644 (file)
@@ -17,8 +17,8 @@
 
 #include <deal.II/base/config.h>
 
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #include <deal.II/base/exceptions.h>
-#include <deal.II/base/subscriptor.h>
 
 #include <boost/core/demangle.hpp>
 
index 8cd5fbbdb657bf30e0f90e3e5645303b908fa384..2021095e3c6801080c75333e13764c44d216865b 100644 (file)
@@ -18,8 +18,8 @@
 
 #include <deal.II/base/config.h>
 
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #include <deal.II/base/observer_pointer.h>
-#include <deal.II/base/subscriptor.h>
 
 #include <deal.II/lac/vector_memory.h>
 
diff --git a/include/deal.II/base/enable_ref_counting_by_observer_pointer.h b/include/deal.II/base/enable_ref_counting_by_observer_pointer.h
new file mode 100644 (file)
index 0000000..38e19dc
--- /dev/null
@@ -0,0 +1,334 @@
+// ------------------------------------------------------------------------
+//
+// SPDX-License-Identifier: LGPL-2.1-or-later
+// Copyright (C) 1998 - 2023 by the deal.II authors
+//
+// This file is part of the deal.II library.
+//
+// Part of the source code is dual licensed under Apache-2.0 WITH
+// LLVM-exception OR LGPL-2.1-or-later. Detailed license information
+// governing the source code and code contributions can be found in
+// LICENSE.md and CONTRIBUTING.md at the top level directory of deal.II.
+//
+// ------------------------------------------------------------------------
+
+#ifndef dealii_enable_ref_counting_by_observer_h
+#define dealii_enable_ref_counting_by_observer_h
+
+
+#include <deal.II/base/config.h>
+
+#include <deal.II/base/exceptions.h>
+
+#include <atomic>
+#include <map>
+#include <mutex>
+#include <string>
+#include <typeinfo>
+#include <vector>
+
+DEAL_II_NAMESPACE_OPEN
+
+/**
+ * Handling of subscriptions.
+ *
+ * This class, as a base class, allows to keep track of other objects using a
+ * specific object. It is used to avoid that pointers that point to an object of
+ * a class derived from EnableRefCountingByObserverPointer are referenced after
+ * that object has been invalidated. Here, invalidation is assumed to happen
+ * when the object is moved from or destroyed. The mechanism works as follows:
+ * The member function subscribe() accepts a pointer to a boolean that is
+ * modified on invalidation. The object that owns this pointer (usually an
+ * object of class type ObserverPointer) is then expected to check the state of
+ * the boolean before trying to access this class.
+ *
+ * The utility of this class is even enhanced by providing identifying strings
+ * to the functions subscribe() and unsubscribe(). These strings are represented
+ * as <code>const char</code> pointers since the underlying buffer comes from
+ * (and is managed by) the run-time type information system: more exactly, these
+ * pointers are the result the function call <code>typeid(x).name()</code> where
+ * <code>x</code> is some object. Therefore, the pointers provided to
+ * subscribe() and to unsubscribe() must be the same. Strings with equal
+ * contents will not be recognized to be the same. The handling in
+ * ObserverPointer will take care of this.
+ * The current subscribers to this class can be obtained by calling
+ * list_subscribers().
+ *
+ * @ingroup memory
+ */
+class EnableRefCountingByObserverPointer
+{
+public:
+  /**
+   * Constructor setting the counter to zero.
+   */
+  EnableRefCountingByObserverPointer();
+
+  /**
+   * Copy-constructor.
+   *
+   * The counter of the copy is zero, since references point to the original
+   * object.
+   */
+  EnableRefCountingByObserverPointer(
+    const EnableRefCountingByObserverPointer &);
+
+  /**
+   * Move constructor.
+   *
+   * An object inheriting from EnableRefCountingByObserverPointer can only be
+   * moved if no other objects are subscribing to it.
+   */
+  EnableRefCountingByObserverPointer(
+    EnableRefCountingByObserverPointer &&) noexcept;
+
+  /**
+   * Destructor, asserting that the counter is zero.
+   */
+  virtual ~EnableRefCountingByObserverPointer();
+
+  /**
+   * Assignment operator.
+   *
+   * This has to be handled with care, too, because the counter has to remain
+   * the same. It therefore does nothing more than returning <tt>*this</tt>.
+   */
+  EnableRefCountingByObserverPointer &
+  operator=(const EnableRefCountingByObserverPointer &);
+
+  /**
+   * Move assignment operator. Only invalidates the object moved from.
+   */
+  EnableRefCountingByObserverPointer &
+  operator=(EnableRefCountingByObserverPointer &&) noexcept;
+
+  /**
+   * @name EnableRefCountingByObserverPointer functionality
+   *
+   * Classes derived from EnableRefCountingByObserverPointer provide a facility
+   * to subscribe to this object. This is mostly used by the ObserverPointer
+   * class.
+   * @{
+   */
+
+  /**
+   * Subscribes a user of the object by storing the pointer @p validity. The
+   * subscriber may be identified by text supplied as @p identifier.
+   */
+  void
+  subscribe(std::atomic<bool> *const validity,
+            const std::string       &identifier = "") const;
+
+  /**
+   * Unsubscribes a user from the object.
+   *
+   * @note The @p identifier and the @p validity pointer must be the same as
+   * the one supplied to subscribe().
+   */
+  void
+  unsubscribe(std::atomic<bool> *const validity,
+              const std::string       &identifier = "") const;
+
+  /**
+   * Return the present number of subscriptions to this object. This allows to
+   * use this class for reference counted lifetime determination where the
+   * last one to unsubscribe also deletes the object.
+   */
+  unsigned int
+  n_subscriptions() const;
+
+  /**
+   * List the subscribers to the input @p stream.
+   */
+  template <typename StreamType>
+  void
+  list_subscribers(StreamType &stream) const;
+
+  /**
+   * List the subscribers to @p deallog.
+   */
+  void
+  list_subscribers() const;
+
+  /** @} */
+
+  /**
+   * @addtogroup Exceptions
+   * @{
+   */
+
+  /**
+   * Exception: Object may not be deleted, since it is used.
+   */
+  DeclException3(ExcInUse,
+                 int,
+                 std::string,
+                 std::string,
+                 << "Object of class " << arg2 << " is still used by " << arg1
+                 << " other objects."
+                 << "\n\n"
+                 << "(Additional information: " << arg3 << ")\n\n"
+                 << "See the entry in the Frequently Asked Questions of "
+                 << "deal.II (linked to from http://www.dealii.org/) for "
+                 << "a lot more information on what this error means and "
+                 << "how to fix programs in which it happens.");
+
+  /**
+   * A subscriber with the identification string given to
+   * EnableRefCountingByObserverPointer::unsubscribe() did not subscribe to the
+   * object.
+   */
+  DeclException2(ExcNoSubscriber,
+                 std::string,
+                 std::string,
+                 << "No subscriber with identifier <" << arg2
+                 << "> subscribes to this object of class " << arg1
+                 << ". Consequently, it cannot be unsubscribed.");
+  /** @} */
+
+  /**
+   * Read or write the data of this object to or from a stream for the purpose
+   * of serialization using the [BOOST serialization
+   * library](https://www.boost.org/doc/libs/1_74_0/libs/serialization/doc/index.html).
+   *
+   * This function does not actually serialize any of the member variables of
+   * this class. The reason is that what this class stores is only who
+   * subscribes to this object, but who does so at the time of storing the
+   * contents of this object does not necessarily have anything to do with who
+   * subscribes to the object when it is restored. Consequently, we do not
+   * want to overwrite the subscribers at the time of restoring, and then
+   * there is no reason to write the subscribers out in the first place.
+   */
+  template <class Archive>
+  void
+  serialize(Archive &ar, const unsigned int version);
+
+private:
+  /**
+   * Store the number of objects which subscribed to this object. Initially,
+   * this number is zero, and upon destruction it shall be zero again (i.e.
+   * all objects which subscribed should have unsubscribed again).
+   *
+   * The creator (and owner) of an object is counted in the map below if HE
+   * manages to supply identification.
+   *
+   * We use the <tt>mutable</tt> keyword in order to allow subscription to
+   * constant objects also.
+   *
+   * This counter may be read from and written to concurrently in
+   * multithreaded code: hence we use the <code>std::atomic</code> class
+   * template.
+   */
+  mutable std::atomic<unsigned int> counter;
+
+  /**
+   * In this map, we count subscriptions for each different identification
+   * string supplied to subscribe().
+   */
+  mutable std::map<std::string, unsigned int> counter_map;
+
+  /**
+   * The data type used in #counter_map.
+   */
+  using map_value_type = decltype(counter_map)::value_type;
+
+  /**
+   * The iterator type used in #counter_map.
+   */
+  using map_iterator = decltype(counter_map)::iterator;
+
+  /**
+   * In this vector, we store pointers to the validity bool in the
+   * ObserverPointer objects that subscribe to this class.
+   */
+  mutable std::vector<std::atomic<bool> *> validity_pointers;
+
+  /**
+   * Pointer to the typeinfo object of this object, from which we can later
+   * deduce the class name. Since this information on the derived class is
+   * neither available in the destructor, nor in the constructor, we obtain it
+   * in between and store it here.
+   */
+  mutable const std::type_info *object_info;
+
+  /**
+   * Check that there are no objects subscribing to this object. If this check
+   * passes then it is safe to destroy the current object. It this check fails
+   * then this function will either abort or print an error message to deallog
+   * (by using the AssertNothrow mechanism), but will not throw an exception.
+   *
+   * @note Since this function is just a consistency check it does nothing in
+   * release mode.
+   *
+   * @note If this function is called when there is an uncaught exception
+   * then, rather than aborting, this function prints an error message to the
+   * standard error stream and returns.
+   */
+  void
+  check_no_subscribers() const noexcept;
+
+  /**
+   * A mutex used to ensure data consistency when accessing the `mutable`
+   * members of this class. This lock is used in the subscribe() and
+   * unsubscribe() functions, as well as in `list_subscribers()`.
+   */
+  static std::mutex mutex;
+};
+
+//---------------------------------------------------------------------------
+
+inline EnableRefCountingByObserverPointer::EnableRefCountingByObserverPointer()
+  : counter(0)
+  , object_info(nullptr)
+{}
+
+
+
+inline EnableRefCountingByObserverPointer::EnableRefCountingByObserverPointer(
+  const EnableRefCountingByObserverPointer &)
+  : counter(0)
+  , object_info(nullptr)
+{}
+
+
+
+inline EnableRefCountingByObserverPointer &
+EnableRefCountingByObserverPointer::operator=(
+  const EnableRefCountingByObserverPointer &s)
+{
+  object_info = s.object_info;
+  return *this;
+}
+
+
+
+inline unsigned int
+EnableRefCountingByObserverPointer::n_subscriptions() const
+{
+  return counter;
+}
+
+
+
+template <class Archive>
+inline void
+EnableRefCountingByObserverPointer::serialize(Archive &, const unsigned int)
+{
+  // do nothing, as explained in the
+  // documentation of this function
+}
+
+template <typename StreamType>
+inline void
+EnableRefCountingByObserverPointer::list_subscribers(StreamType &stream) const
+{
+  std::lock_guard<std::mutex> lock(mutex);
+
+  for (const auto &it : counter_map)
+    stream << it.second << '/' << counter << " subscriptions from \""
+           << it.first << '\"' << std::endl;
+}
+
+DEAL_II_NAMESPACE_CLOSE
+
+#endif
index 7ee925649a8d3ba6561292c21d1ad7aaa13cf08c..5cafbaa95194cf5364d7491d72bc49afdf8a5215 100644 (file)
 
 #include <deal.II/base/config.h>
 
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #include <deal.II/base/exceptions.h>
 #include <deal.II/base/function_time.h>
 #include <deal.II/base/point.h>
-#include <deal.II/base/subscriptor.h>
 #include <deal.II/base/symmetric_tensor.h>
 #include <deal.II/base/tensor.h>
 
index 69c77f1e530cef560c7dd5c54cdd0b55849f909d..b80dae2822263c5b93761c022548712e0ee60863 100644 (file)
@@ -17,9 +17,9 @@
 
 #include <deal.II/base/config.h>
 
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #include <deal.II/base/exceptions.h>
 #include <deal.II/base/observer_pointer.h>
-#include <deal.II/base/subscriptor.h>
 #include <deal.II/base/thread_local_storage.h>
 
 #include <cmath>
index 356ab00922900a809edc0273370e5bf19618ebdd..6a76af25e7d1bea7ca41c93b4a42654ba9c7abc3 100644 (file)
@@ -17,7 +17,7 @@
 
 #include <deal.II/base/config.h>
 
-#include <deal.II/base/subscriptor.h>
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 
 #include <memory>
 #include <vector>
index 9cf0290d58502bf648e143b4b70bfe54aca92f50..4ed8c8fa7398a2f095a88ac4c5c8a196a1b4fb83 100644 (file)
@@ -18,8 +18,8 @@
 
 #include <deal.II/base/config.h>
 
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #include <deal.II/base/exceptions.h>
-#include <deal.II/base/subscriptor.h>
 
 #include <atomic>
 #include <typeinfo>
index c373a702b5b859197188668bdd738a90e515d9a7..2bdf932c803560e6e9cf5b2b192a7e48fbf357bf 100644 (file)
@@ -18,9 +18,9 @@
 
 #include <deal.II/base/config.h>
 
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #include <deal.II/base/exceptions.h>
 #include <deal.II/base/patterns.h>
-#include <deal.II/base/subscriptor.h>
 
 #include <boost/archive/basic_archive.hpp>
 #include <boost/property_tree/ptree_fwd.hpp>
index 4ccb8de0a71320271a8e02f31757afa732446ead..228b6e237ab984755b512a86631fc307625f4e9e 100644 (file)
@@ -18,9 +18,9 @@
 
 #include <deal.II/base/config.h>
 
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #include <deal.II/base/exceptions.h>
 #include <deal.II/base/point.h>
-#include <deal.II/base/subscriptor.h>
 #include <deal.II/base/template_constraints.h>
 #include <deal.II/base/utilities.h>
 
index 58464995b9e1c31cc2beae16c9b76980cfc1fddd..dcbfd148b6511ea413302c14c29b0a7195b37cad 100644 (file)
@@ -19,9 +19,9 @@
 
 #include <deal.II/base/config.h>
 
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #include <deal.II/base/exceptions.h>
 #include <deal.II/base/point.h>
-#include <deal.II/base/subscriptor.h>
 
 #include <array>
 #include <limits>
index 08733aa816684ddfd0b50bdc21a46ee2596c4a88..bdf36583bee99ead7884207e6e7478f619b7e894 100644 (file)
 
 #include <deal.II/base/config.h>
 
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #include <deal.II/base/exceptions.h>
 #include <deal.II/base/point.h>
 #include <deal.II/base/polynomial.h>
-#include <deal.II/base/subscriptor.h>
 
 #include <vector>
 
index 828d53b0ac41c5156cdd3a51d99db9c49d41daa6..ea7a4ca633b8d9d076052711dbc528792aa125e6 100644 (file)
 
 #include <deal.II/base/config.h>
 
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #include <deal.II/base/exceptions.h>
 #include <deal.II/base/point.h>
 #include <deal.II/base/polynomial.h>
-#include <deal.II/base/subscriptor.h>
 
 #include <vector>
 
index 470153ac11514e2686925dbb4bb2c7df08b7efde..a5343b7cfa0d212eba785c9791433ef9e9020c47 100644 (file)
@@ -19,8 +19,8 @@
 #include <deal.II/base/config.h>
 
 #include <deal.II/base/array_view.h>
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #include <deal.II/base/point.h>
-#include <deal.II/base/subscriptor.h>
 
 #include <array>
 #include <memory>
index 1a93dcaa24ea231c94e0f8ba844a8209f57622fd..97ed456a92bafaf5c922da9ba42f5be389eb23aa 100644 (file)
@@ -17,8 +17,8 @@
 
 #include <deal.II/base/config.h>
 
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #include <deal.II/base/quadrature.h>
-#include <deal.II/base/subscriptor.h>
 
 #include <deal.II/distributed/tria.h>
 
index f5034da9387c82c766fb11f7347f3f4149dc05ff..b4d42f6bbb4e257826ff0f60c944a6a94fb76a6e 100644 (file)
 
 #include <deal.II/base/config.h>
 
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #include <deal.II/base/exceptions.h>
 #include <deal.II/base/function.h>
 #include <deal.II/base/point.h>
-#include <deal.II/base/subscriptor.h>
 #include <deal.II/base/symmetric_tensor.h>
 #include <deal.II/base/tensor.h>
 
index 5336ec6e3004f71e6baad736eae797bd1872cc15..4aa281b424e2113a0ea9bc163e9a78656ba4d204 100644 (file)
 #include <deal.II/base/config.h>
 
 #include <deal.II/base/aligned_vector.h>
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #include <deal.II/base/exceptions.h>
 #include <deal.II/base/linear_index_iterator.h>
 #include <deal.II/base/memory_consumption.h>
-#include <deal.II/base/subscriptor.h>
 #include <deal.II/base/table_indices.h>
 
 #include <algorithm>
index 3e4dfda8e64f1cc27597ba8bbf5bf89b3a624a37..63d1f68db4fd2899459b3d9ec50cce7f8598b8d1 100644 (file)
 
 #include <deal.II/base/config.h>
 
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #include <deal.II/base/exceptions.h>
 #include <deal.II/base/function.h>
 #include <deal.II/base/function_time.h>
 #include <deal.II/base/observer_pointer.h>
 #include <deal.II/base/point.h>
-#include <deal.II/base/subscriptor.h>
 
 #include <vector>
 
index 0e5c040063ba9652b17803390cecce96bbf46294..b33ea27ab7ed4c052f355dbee1cc6c7bd968aa13 100644 (file)
@@ -18,9 +18,9 @@
 
 #include <deal.II/base/config.h>
 
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #include <deal.II/base/mpi_stub.h>
 #include <deal.II/base/observer_pointer.h>
-#include <deal.II/base/subscriptor.h>
 #include <deal.II/base/template_constraints.h>
 
 #include <deal.II/distributed/tria_base.h>
index 854b2be01a054fdf85a9689bb7405842999b8d8f..59b47fa1d979c940d9ed5c895e5bc7fc944041c3 100644 (file)
@@ -18,9 +18,9 @@
 
 #include <deal.II/base/config.h>
 
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #include <deal.II/base/mpi_stub.h>
 #include <deal.II/base/observer_pointer.h>
-#include <deal.II/base/subscriptor.h>
 #include <deal.II/base/template_constraints.h>
 
 #include <deal.II/distributed/p4est_wrappers.h>
index 63cd62f9d2c872b80d860f9127e0e3644edff648..238fdb0a8ebe330bd42b7d4e45a959a9fc2e97f2 100644 (file)
 
 #include <deal.II/base/config.h>
 
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #include <deal.II/base/mpi_stub.h>
 #include <deal.II/base/observer_pointer.h>
 #include <deal.II/base/partitioner.h>
-#include <deal.II/base/subscriptor.h>
 #include <deal.II/base/template_constraints.h>
 
 #include <deal.II/grid/tria.h>
index 27c598712bdeca417deae731ec1847a4fb36334e..ba6f869921a18222a56473b5cdb37096743a3117 100644 (file)
@@ -17,8 +17,8 @@
 
 #include <deal.II/base/config.h>
 
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #include <deal.II/base/memory_consumption.h>
-#include <deal.II/base/subscriptor.h>
 #include <deal.II/base/template_constraints.h>
 
 #include <deal.II/lac/block_indices.h>
index 6336361d558a24f75220901b63db40fb2c8bf9bc..53520d5980492a20c3103982cf8abbbe46d51bed 100644 (file)
@@ -20,8 +20,8 @@
 
 #include <deal.II/algorithms/general_data_storage.h>
 
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #include <deal.II/base/std_cxx20/iota_view.h>
-#include <deal.II/base/subscriptor.h>
 #include <deal.II/base/thread_local_storage.h>
 #include <deal.II/base/utilities.h>
 
index 9502429dcc19c96d5f89daa5b391d975dbc4ab4f..d6e407123b19176a00a89e05f132e5e9a4ba95b2 100644 (file)
@@ -19,8 +19,8 @@
 
 #include <deal.II/base/config.h>
 
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #include <deal.II/base/exceptions.h>
-#include <deal.II/base/subscriptor.h>
 #include <deal.II/base/table.h>
 #include <deal.II/base/table_indices.h>
 #include <deal.II/base/tensor.h>
index 86722d9f86ba3ab795b05d5249026391fa2aa98f..c1c99d6b1aa7d0181bfbd6cc3df0e63a90763dec 100644 (file)
@@ -19,9 +19,9 @@
 
 #include <deal.II/base/config.h>
 
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #include <deal.II/base/exceptions.h>
 #include <deal.II/base/geometry_info.h>
-#include <deal.II/base/subscriptor.h>
 #include <deal.II/base/symmetric_tensor.h>
 #include <deal.II/base/tensor.h>
 
index 7a4829b9d3f86336e59e297236a9d811ea35216e..9a77d94f3ab737a38d52940baf9e631df6ff7b1f 100644 (file)
 #include <deal.II/base/config.h>
 
 #include <deal.II/base/derivative_form.h>
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #include <deal.II/base/exceptions.h>
 #include <deal.II/base/point.h>
 #include <deal.II/base/quadrature.h>
 #include <deal.II/base/std_cxx20/iota_view.h>
-#include <deal.II/base/subscriptor.h>
 #include <deal.II/base/symmetric_tensor.h>
 
 #include <deal.II/dofs/dof_accessor.h>
index d62f9b38343b1f6b20efa289eba84510fcc99836..81f57f762b9862a2736b3693d981f4ce333aef52 100644 (file)
 #include <deal.II/base/config.h>
 
 #include <deal.II/base/derivative_form.h>
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #include <deal.II/base/exceptions.h>
 #include <deal.II/base/point.h>
 #include <deal.II/base/quadrature.h>
 #include <deal.II/base/std_cxx20/iota_view.h>
-#include <deal.II/base/subscriptor.h>
 #include <deal.II/base/symmetric_tensor.h>
 
 #include <deal.II/dofs/dof_accessor.h>
index e32943e07d5579049ee333fae3d9970a8cd2b32a..e20427a68fa0ee808d5037cc6fbad37329c8d091 100644 (file)
@@ -21,9 +21,9 @@
 #include <deal.II/base/config.h>
 
 #include <deal.II/base/derivative_form.h>
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #include <deal.II/base/point.h>
 #include <deal.II/base/quadrature_lib.h>
-#include <deal.II/base/subscriptor.h>
 
 #include <deal.II/grid/manifold.h>
 #include <deal.II/grid/tria.h>
index 76601ae89a2c47d7a7b7cc6e5e1f4fcace72150b..c3ee8e0a47537d22fd97c9f2bc0dfe90fc5ff6bf 100644 (file)
@@ -18,9 +18,9 @@
 
 #include <deal.II/base/config.h>
 
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #include <deal.II/base/exceptions.h>
 #include <deal.II/base/point.h>
-#include <deal.II/base/subscriptor.h>
 
 #include <deal.II/fe/mapping.h>
 
index e4ef3851a0cc64d85272d2062e3112ad3d0d5358..68a519715b69e88f36dc5377672cdd34bc1926b0 100644 (file)
@@ -22,9 +22,9 @@
 
 #include <deal.II/base/array_view.h>
 #include <deal.II/base/derivative_form.h>
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #include <deal.II/base/point.h>
 #include <deal.II/base/quadrature_lib.h>
-#include <deal.II/base/subscriptor.h>
 
 #include <deal.II/grid/tria.h>
 
index 033912c6783fe94e4635be8931dbde176ccd37dd..eb08d7e58e00691aff4b24e2959b40a260277a28 100644 (file)
@@ -17,8 +17,8 @@
 
 #include <deal.II/base/config.h>
 
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #include <deal.II/base/point.h>
-#include <deal.II/base/subscriptor.h>
 #include <deal.II/base/utilities.h>
 
 #include <deal.II/grid/manifold.h>
index be1d29e24603ee94caa86970e1c28bf5c28ad0d4..c2ad135c406f95909d3c2a2ac8d786a63d9489c0 100644 (file)
 
 #include <deal.II/base/config.h>
 
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #include <deal.II/base/geometry_info.h>
 #include <deal.II/base/iterator_range.h>
 #include <deal.II/base/observer_pointer.h>
 #include <deal.II/base/partitioner.h>
 #include <deal.II/base/point.h>
-#include <deal.II/base/subscriptor.h>
 
 #include <deal.II/grid/cell_id.h>
 #include <deal.II/grid/cell_status.h>
index ecf5960c893994522ffadffb4d2f12e27bd8b6d4..fcd1cb939bfade287765594c4c17546908da6767 100644 (file)
@@ -17,8 +17,8 @@
 
 #include <deal.II/base/config.h>
 
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #include <deal.II/base/memory_consumption.h>
-#include <deal.II/base/subscriptor.h>
 
 #include <iterator>
 #include <memory>
index c62852a589c4f31d90eb43ef63b16b87db8d60ed..67d853ec1089914af78a31e6c5668f7a283b5332 100644 (file)
@@ -17,7 +17,7 @@
 
 #include <deal.II/base/config.h>
 
-#include <deal.II/base/subscriptor.h>
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 
 #include <deal.II/fe/fe.h>
 #include <deal.II/fe/mapping.h>
index 5f0fa855c36d75dc3d0334f20204332b7c8a99c7..f4c5c01a0d8d0d4d4bfcb282128ce1fedd367c0d 100644 (file)
@@ -17,9 +17,9 @@
 
 #include <deal.II/base/config.h>
 
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #include <deal.II/base/memory_consumption.h>
 #include <deal.II/base/quadrature.h>
-#include <deal.II/base/subscriptor.h>
 
 #include <deal.II/hp/collection.h>
 
index 1c01e178b417ccddef32984f9ada1060ec1062b0..4a2f6614beceabd9ebc0d0a9132b9c9acdbbb16c 100644 (file)
@@ -17,9 +17,9 @@
 
 #include <deal.II/base/config.h>
 
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #include <deal.II/base/exceptions.h>
 #include <deal.II/base/index_set.h>
-#include <deal.II/base/subscriptor.h>
 #include <deal.II/base/table.h>
 #include <deal.II/base/template_constraints.h>
 #include <deal.II/base/thread_local_storage.h>
index 59903b54e9e62c8af5abcf9aea7188bbcc92410a..6eae92a4d14ab1cb4e7a152bdff466d87028ae83 100644 (file)
@@ -18,9 +18,9 @@
 
 #include <deal.II/base/config.h>
 
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #include <deal.II/base/exceptions.h>
 #include <deal.II/base/logstream.h>
-#include <deal.II/base/subscriptor.h>
 
 #include <algorithm>
 #include <cstddef>
index 90f5a0045dde2bd455063014449de5fda30fb3f7..d0be4a1d0de9878095be3f9ca45c08a8e38c4c7e 100644 (file)
@@ -23,9 +23,9 @@
 
 #include <deal.II/base/config.h>
 
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #include <deal.II/base/exceptions.h>
 #include <deal.II/base/observer_pointer.h>
-#include <deal.II/base/subscriptor.h>
 #include <deal.II/base/table.h>
 
 #include <deal.II/lac/block_indices.h>
index 650c0312a9640cf561a03af49ba4e53efe7bf5ac..55c6b37bb78d098b6fea425249748c157d27635a 100644 (file)
@@ -18,9 +18,9 @@
 
 #include <deal.II/base/config.h>
 
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #include <deal.II/base/exceptions.h>
 #include <deal.II/base/observer_pointer.h>
-#include <deal.II/base/subscriptor.h>
 #include <deal.II/base/table.h>
 
 #include <deal.II/lac/block_indices.h>
index cc6a9eae3a937a0b6179c435fa91c20da637f4e6..2e912f16ebb9e74d63a6659ed323ee0f09637483 100644 (file)
 
 #include <deal.II/base/config.h>
 
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #include <deal.II/base/exceptions.h>
 #include <deal.II/base/memory_consumption.h>
 #include <deal.II/base/numbers.h>
-#include <deal.II/base/subscriptor.h>
 
 #include <deal.II/lac/block_indices.h>
 #include <deal.II/lac/exceptions.h>
index 4fa5e1bbd9f2634e34416b7df94b69378f21f7a2..6d8ab9cde127d798da97c100f8b34017eef943d0 100644 (file)
@@ -18,8 +18,8 @@
 
 #include <deal.II/base/config.h>
 
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #include <deal.II/base/observer_pointer.h>
-#include <deal.II/base/subscriptor.h>
 
 #include <deal.II/lac/chunk_sparsity_pattern.h>
 #include <deal.II/lac/exceptions.h>
index 04398886da58bdff94399ce4e3ed89d7f8883149..6391260d646fe9ba309bdc2ee2d767c421fd6d23 100644 (file)
@@ -18,8 +18,8 @@
 
 #include <deal.II/base/config.h>
 
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #include <deal.II/base/exceptions.h>
-#include <deal.II/base/subscriptor.h>
 
 #include <deal.II/lac/sparsity_pattern.h>
 
index 5222b2954c55f0da770ea7ef3641b67912143a91..908ed30ff9802a5a74483b3d9b14dd5941c3f11a 100644 (file)
@@ -18,8 +18,8 @@
 
 #include <deal.II/base/config.h>
 
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #include <deal.II/base/index_set.h>
-#include <deal.II/base/subscriptor.h>
 #include <deal.II/base/utilities.h>
 
 #include <deal.II/lac/exceptions.h>
index 4237eab256d7e3c17e096ada1d49ac87a1926543..1ad5ce92979fff72e7acc9a451a57f602988befe 100644 (file)
 #include <deal.II/base/config.h>
 
 #include <deal.II/base/communication_pattern_base.h>
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #include <deal.II/base/memory_space.h>
 #include <deal.II/base/memory_space_data.h>
 #include <deal.II/base/mpi_stub.h>
 #include <deal.II/base/numbers.h>
 #include <deal.II/base/parallel.h>
 #include <deal.II/base/partitioner.h>
-#include <deal.II/base/subscriptor.h>
 
 #include <deal.II/lac/read_vector.h>
 #include <deal.II/lac/vector_operation.h>
index bc49ceb78896f94e094e5cf14660b1b3b12cbd9a..66bfed4e466c09d2268bf23105b2c7a06af06662 100644 (file)
@@ -20,7 +20,7 @@
 
 #ifdef DEAL_II_WITH_PETSC
 
-#  include <deal.II/base/subscriptor.h>
+#  include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 
 #  include <deal.II/lac/exceptions.h>
 #  include <deal.II/lac/full_matrix.h>
index 6869f1641991a19491116d88e3aa646bc0f75f61..556e0caae341d852f010f1f949fe6443fc6993fb 100644 (file)
@@ -18,8 +18,8 @@
 
 #include <deal.II/base/config.h>
 
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #include <deal.II/base/point.h>
-#include <deal.II/base/subscriptor.h>
 
 #ifdef DEAL_II_WITH_PETSC
 
index 6974d44a67c4eb1ee72195aafe5ee263f7cffa59..591f04b3ac259be9b72d8b765df8b062fd748704 100644 (file)
@@ -20,9 +20,9 @@
 
 #ifdef DEAL_II_WITH_PETSC
 
+#  include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #  include <deal.II/base/index_set.h>
 #  include <deal.II/base/partitioner.h>
-#  include <deal.II/base/subscriptor.h>
 
 #  include <deal.II/lac/exceptions.h>
 #  include <deal.II/lac/petsc_vector_base.h>
index e94d47cdcd19e2a939095c0cc04f44e92094831f..1ecd48c048d92ce71feaedc969f47b9f2b415535 100644 (file)
@@ -20,8 +20,8 @@
 
 #ifdef DEAL_II_WITH_PETSC
 
+#  include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #  include <deal.II/base/index_set.h>
-#  include <deal.II/base/subscriptor.h>
 
 #  include <deal.II/lac/exceptions.h>
 #  include <deal.II/lac/vector.h>
index 045b3e0cbac83a8b6f4edb44f52346faa4ba339d..6f003844325ddeb755821fb07915a8e26ce42bf1 100644 (file)
@@ -18,9 +18,9 @@
 
 #include <deal.II/base/config.h>
 
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #include <deal.II/base/exceptions.h>
 #include <deal.II/base/observer_pointer.h>
-#include <deal.II/base/subscriptor.h>
 
 #include <deal.II/lac/precondition_block_base.h>
 
index b2f709561149b80c8c00f32f4d607cdabaa6ed06..5e89816e723622194c0d2c9b206ef19bf70a04e7 100644 (file)
 
 #include <deal.II/base/config.h>
 
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #include <deal.II/base/exceptions.h>
 #include <deal.II/base/logstream.h>
 #include <deal.II/base/memory_consumption.h>
 #include <deal.II/base/observer_pointer.h>
-#include <deal.II/base/subscriptor.h>
 
 #include <deal.II/lac/householder.h>
 #include <deal.II/lac/lapack_full_matrix.h>
index b172d731f4e1854917b62f584ef36d244aaab1d8..ccb982aae24ae69ff74f54fe7ce1a67454bac9e8 100644 (file)
@@ -18,8 +18,8 @@
 
 #include <deal.II/base/config.h>
 
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #include <deal.II/base/observer_pointer.h>
-#include <deal.II/base/subscriptor.h>
 
 #include <string>
 
index d43ae09a32774e2ccfcade55263f0b2a17548f24..b49fbcc7e54c328cee837af1b82e8eddfe7a5a31 100644 (file)
 
 #include <deal.II/base/aligned_vector.h>
 #include <deal.II/base/communication_pattern_base.h>
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #include <deal.II/base/index_set.h>
 #include <deal.II/base/memory_consumption.h>
 #include <deal.II/base/mpi_stub.h>
 #include <deal.II/base/parallel.h>
-#include <deal.II/base/subscriptor.h>
 #include <deal.II/base/template_constraints.h>
 #include <deal.II/base/types.h>
 
index 15c8d3262d5b02353f715f173477342651950c03..3be4b073c8bf283bce225c57b11a116527172ff6 100644 (file)
@@ -17,8 +17,8 @@
 
 #include <deal.II/base/config.h>
 
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #include <deal.II/base/observer_pointer.h>
-#include <deal.II/base/subscriptor.h>
 
 #include <deal.II/lac/precondition_block_base.h>
 #include <deal.II/lac/sparsity_pattern.h>
index 6f064370254b2261f2417befde7ea31de55e9fe8..21f8b7a7b38b5e0c549203975d8fd25e0c42d351 100644 (file)
@@ -17,7 +17,7 @@
 
 #include <deal.II/base/config.h>
 
-#include <deal.II/base/subscriptor.h>
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #include <deal.II/base/template_constraints.h>
 
 #include <deal.II/lac/solver_control.h>
index fbfc74aef7e8d80c4bacd1cd9ad89d907dea6b6a..32093f9765928eb40eee1b012f6d41657c2649e9 100644 (file)
@@ -18,9 +18,9 @@
 
 #include <deal.II/base/config.h>
 
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #include <deal.II/base/logstream.h>
 #include <deal.II/base/signaling_nan.h>
-#include <deal.II/base/subscriptor.h>
 #include <deal.II/base/template_constraints.h>
 
 #include <deal.II/lac/solver.h>
index 9c2d48d8af45b0b8546eb5801c4b235b0a410f5d..d92619dc7b53ce65e9e6a588d17d1d6111224952 100644 (file)
@@ -18,9 +18,9 @@
 
 #include <deal.II/base/config.h>
 
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #include <deal.II/base/exceptions.h>
 #include <deal.II/base/logstream.h>
-#include <deal.II/base/subscriptor.h>
 #include <deal.II/base/template_constraints.h>
 #include <deal.II/base/vectorization.h>
 
index 847b7c7b40dcae120521f900faca258813581481..79214b2277c405ffed3bbb1cb7aee5bd5f2b7255 100644 (file)
@@ -18,7 +18,7 @@
 
 #include <deal.II/base/config.h>
 
-#include <deal.II/base/subscriptor.h>
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 
 #include <vector>
 
index 0d3632a729b006c038372e8a10eadba60ab8bda2..f1d0e5a89f4d16ec7c80e9ef2fda45dad6c089b5 100644 (file)
@@ -19,8 +19,8 @@
 
 #include <deal.II/base/config.h>
 
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #include <deal.II/base/logstream.h>
-#include <deal.II/base/subscriptor.h>
 #include <deal.II/base/template_constraints.h>
 
 #include <deal.II/lac/block_vector_base.h>
index 48698e67543837799fc00d450e00cd0b15354983..f6ce9af1c1ba14acb2e4d8bb6f2647328a95e92b 100644 (file)
@@ -18,9 +18,9 @@
 
 #include <deal.II/base/config.h>
 
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #include <deal.II/base/logstream.h>
 #include <deal.II/base/signaling_nan.h>
-#include <deal.II/base/subscriptor.h>
 #include <deal.II/base/template_constraints.h>
 
 #include <deal.II/lac/block_vector_base.h>
index 0359e70e7cbe6582f971c1862211e0be34ceccc1..2ae06d072d5cb35b3788e9e4af66e47354fb67d9 100644 (file)
@@ -18,9 +18,9 @@
 
 #include <deal.II/base/config.h>
 
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #include <deal.II/base/logstream.h>
 #include <deal.II/base/signaling_nan.h>
-#include <deal.II/base/subscriptor.h>
 #include <deal.II/base/template_constraints.h>
 
 #include <deal.II/lac/solver.h>
index 1eab3ca3e65518cf3236941364d95cd934f004ea..121ac0db2e62528098dbc6bd2cc817e9e94f94fd 100644 (file)
@@ -17,8 +17,8 @@
 
 #include <deal.II/base/config.h>
 
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #include <deal.II/base/logstream.h>
-#include <deal.II/base/subscriptor.h>
 #include <deal.II/base/template_constraints.h>
 
 #include <deal.II/lac/solver.h>
index d4147f8d3b11e266903e137aa4fc2974503054e4..20b2e337331131081caab63242b46e230e3d4186 100644 (file)
@@ -18,8 +18,8 @@
 
 #include <deal.II/base/config.h>
 
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #include <deal.II/base/logstream.h>
-#include <deal.II/base/subscriptor.h>
 #include <deal.II/base/template_constraints.h>
 
 #include <deal.II/lac/solver.h>
index e962a21505eb175dfd33d0229ef458c084f7a597..4ad3c80ce3712911f7f6fe3b15a09549ef562f9b 100644 (file)
@@ -18,8 +18,8 @@
 
 #include <deal.II/base/config.h>
 
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #include <deal.II/base/exceptions.h>
-#include <deal.II/base/subscriptor.h>
 
 #include <deal.II/lac/block_sparse_matrix.h>
 #include <deal.II/lac/sparse_matrix.h>
index 73b65537d5d88f019283b2170d203ec2f3a692c6..91b230357a94dcfc7acf066262b473aefbb56c4a 100644 (file)
@@ -17,9 +17,9 @@
 
 #include <deal.II/base/config.h>
 
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #include <deal.II/base/mpi_stub.h>
 #include <deal.II/base/observer_pointer.h>
-#include <deal.II/base/subscriptor.h>
 
 #include <deal.II/lac/exceptions.h>
 #include <deal.II/lac/identity_matrix.h>
index b0a977f9232c8334f1ed1b5052e339d12e54d8f1..068a9ab94087bea5460f59da378f14971eb3b6bb 100644 (file)
@@ -18,8 +18,8 @@
 
 #include <deal.II/base/config.h>
 
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #include <deal.II/base/observer_pointer.h>
-#include <deal.II/base/subscriptor.h>
 
 #include <deal.II/lac/exceptions.h>
 
index 4f5d405e18996eee1c618dc54eab01d073b4e394..251c6d9d359a105e0d53013134153160a5a20cec 100644 (file)
@@ -19,9 +19,9 @@
 #include <deal.II/base/config.h>
 
 #include <deal.II/base/array_view.h>
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #include <deal.II/base/exceptions.h>
 #include <deal.II/base/linear_index_iterator.h>
-#include <deal.II/base/subscriptor.h>
 
 #include <deal.II/lac/sparsity_pattern_base.h>
 
index 28b8cf02df7ea4ab0aedc729e96579d691de6e48..aa4a73b18252524b597767425722e420a5c31eda 100644 (file)
@@ -19,8 +19,8 @@
 #include <deal.II/base/config.h>
 
 #include <deal.II/base/array_view.h>
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #include <deal.II/base/exceptions.h>
-#include <deal.II/base/subscriptor.h>
 
 #include <utility>
 
index 1851a15da5fba142360839411fe584bbc327f8a0..d52098f2045358b8fb022267ba9324f9b419a555 100644 (file)
@@ -17,7 +17,7 @@
 
 #include <deal.II/base/config.h>
 
-#include <deal.II/base/subscriptor.h>
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 
 #include <deal.II/lac/lapack_support.h>
 
index 23a2e510e13f8f4f5d4e31e0003c91f9f82b60d2..96991c9948ead4a1458aa2b010b80472edd06d7a 100644 (file)
@@ -20,9 +20,9 @@
 
 #ifdef DEAL_II_WITH_TRILINOS
 
+#  include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #  include <deal.II/base/index_set.h>
 #  include <deal.II/base/mpi_stub.h>
-#  include <deal.II/base/subscriptor.h>
 
 #  include <deal.II/lac/read_vector.h>
 #  include <deal.II/lac/trilinos_epetra_communication_pattern.h>
index a262b35651f3085fe4e8174e8f21cd7e799a6c62..a0e3f085bbbc2b394266e96a36cd45fd86b1db50 100644 (file)
@@ -20,7 +20,7 @@
 
 #ifdef DEAL_II_WITH_TRILINOS
 
-#  include <deal.II/base/subscriptor.h>
+#  include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 
 #  include <deal.II/lac/la_parallel_vector.h>
 #  include <deal.II/lac/trilinos_vector.h>
index 2b7454702efe4af1a89c1ef4887b2135ae1cdc9a..d56ad06519a6209e5151bbcdc83486c60b8da06b 100644 (file)
@@ -20,9 +20,9 @@
 
 #  ifdef DEAL_II_WITH_TRILINOS
 
+#    include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #    include <deal.II/base/index_set.h>
 #    include <deal.II/base/mpi_stub.h>
-#    include <deal.II/base/subscriptor.h>
 
 #    include <deal.II/lac/exceptions.h>
 #    include <deal.II/lac/full_matrix.h>
index 65bc3ad3cbdcaa8d60b6896b6f27dec0f4fcb73d..2809ad980ea4ce774d8b69012dc7643a68177590 100644 (file)
@@ -19,9 +19,9 @@
 
 #ifdef DEAL_II_WITH_TRILINOS
 
+#  include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #  include <deal.II/base/index_set.h>
 #  include <deal.II/base/mpi_stub.h>
-#  include <deal.II/base/subscriptor.h>
 #  include <deal.II/base/utilities.h>
 
 #  include <deal.II/lac/exceptions.h>
index 9e8544b942ef5a46e494639673140df35a5e8cbf..af702dfd97d85b085e4abd8134c3c94127a91ca1 100644 (file)
@@ -28,7 +28,7 @@
 
 #ifdef DEAL_II_TRILINOS_WITH_TPETRA
 
-#  include <deal.II/base/subscriptor.h>
+#  include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 
 #  include <deal.II/lac/la_parallel_vector.h>
 #  include <deal.II/lac/trilinos_tpetra_sparse_matrix.h>
index d6f0c55dec61c686ff309dc054a2102f5a6a8682..791138c5722e9ff0b211c31194f13d75d2d6c04b 100644 (file)
@@ -19,8 +19,8 @@
 
 #ifdef DEAL_II_TRILINOS_WITH_TPETRA
 
+#  include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #  include <deal.II/base/index_set.h>
-#  include <deal.II/base/subscriptor.h>
 #  include <deal.II/base/trilinos_utilities.h>
 
 #  include <deal.II/lac/sparse_matrix.h>
index 7d6a4dcd1040184d5ae40631901f19d6961179e1..18a84c1a8650fddd73c95ba2eda7a2535da9de09 100644 (file)
@@ -23,9 +23,9 @@
 
 #ifdef DEAL_II_TRILINOS_WITH_TPETRA
 
+#  include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #  include <deal.II/base/index_set.h>
 #  include <deal.II/base/mpi_stub.h>
-#  include <deal.II/base/subscriptor.h>
 
 #  include <deal.II/lac/exceptions.h>
 #  include <deal.II/lac/sparsity_pattern_base.h>
index 8631a6f5339a0d389f4c40f04a677fab3bf46428..13d4c819e6e3fd632237b8101159d8a51cc557e6 100644 (file)
@@ -24,9 +24,9 @@
 
 #ifdef DEAL_II_TRILINOS_WITH_TPETRA
 
+#  include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #  include <deal.II/base/index_set.h>
 #  include <deal.II/base/mpi_stub.h>
-#  include <deal.II/base/subscriptor.h>
 
 #  include <deal.II/lac/read_vector.h>
 #  include <deal.II/lac/trilinos_tpetra_communication_pattern.h>
index 0f092a0ef319b53784329daa9ff901bb2ee780e3..e38a07dd13451f173f288bf3cc4c11b24385fedb 100644 (file)
 #include <deal.II/base/config.h>
 
 #ifdef DEAL_II_WITH_TRILINOS
+#  include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #  include <deal.II/base/index_set.h>
 #  include <deal.II/base/mpi_stub.h>
 #  include <deal.II/base/partitioner.h>
-#  include <deal.II/base/subscriptor.h>
 
 #  include <deal.II/lac/exceptions.h>
 #  include <deal.II/lac/read_vector.h>
index 219dd685946f352237d1b0673deb4eb1147e7b0c..7ec3e32c071d7db356b5ef581ecd27973e315b51 100644 (file)
 #include <deal.II/base/config.h>
 
 #include <deal.II/base/aligned_vector.h>
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #include <deal.II/base/exceptions.h>
 #include <deal.II/base/index_set.h>
 #include <deal.II/base/numbers.h>
-#include <deal.II/base/subscriptor.h>
 
 #include <deal.II/lac/read_vector.h>
 #include <deal.II/lac/vector_operation.h>
index 3883d5bee2e6595b28dbeed399d194488adb0bb8..54ef0833f5fe086d3a8a0c5cc66abd9048dacab8 100644 (file)
@@ -20,8 +20,8 @@
 #include <deal.II/base/config.h>
 
 #include <deal.II/base/aligned_vector.h>
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #include <deal.II/base/exceptions.h>
-#include <deal.II/base/subscriptor.h>
 #include <deal.II/base/vectorization.h>
 
 #include <deal.II/fe/fe_nothing.h>
index 5991e00c44864277d294fa74ee3fc11746a85589..e5b6d7fab372e5d5436e2ffd98d431366256de70 100644 (file)
@@ -19,8 +19,8 @@
 
 #include <deal.II/base/config.h>
 
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #include <deal.II/base/exceptions.h>
-#include <deal.II/base/subscriptor.h>
 #include <deal.II/base/vectorization.h>
 
 #include <deal.II/lac/diagonal_matrix.h>
index ed5fafe313838b698cd647dab1e66db40cc68883..75c544944fc33bfee20bc010ff04d11b235ccbfd 100644 (file)
@@ -18,7 +18,7 @@
 
 #include <deal.II/base/config.h>
 
-#include <deal.II/base/subscriptor.h>
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 
 #include <functional>
 #include <string>
index d0b9c42989fd2d1ae3e2fedba3b481a1c0a2e11c..711849aa4636c39a5006bcca8c8496978f21b144 100644 (file)
@@ -22,8 +22,8 @@
 
 #include <deal.II/base/config.h>
 
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #include <deal.II/base/observer_pointer.h>
-#include <deal.II/base/subscriptor.h>
 
 #include <deal.II/lac/vector.h>
 
index 9807712554912f9b52917d66b0854f579407ef79..30e5c828516c0f7764733696f66d193737b8e397 100644 (file)
@@ -17,8 +17,8 @@
 
 #include <deal.II/base/config.h>
 
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #include <deal.II/base/mg_level_object.h>
-#include <deal.II/base/subscriptor.h>
 
 #include <deal.II/lac/affine_constraints.h>
 
index 89923df899834adb4e821ba2fc0f2096fec6fc87..6a9150103446a8c722e475e6137fb42ba80e2aed 100644 (file)
@@ -18,9 +18,9 @@
 
 #include <deal.II/base/config.h>
 
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #include <deal.II/base/mg_level_object.h>
 #include <deal.II/base/observer_pointer.h>
-#include <deal.II/base/subscriptor.h>
 
 #include <deal.II/distributed/tria.h>
 
index 23229e0db87104ed7ae54847c2a17499db4d3127..4983f70765d015e2d33f55c3b8ed8a6cca782e09 100644 (file)
@@ -17,9 +17,9 @@
 
 #include <deal.II/base/config.h>
 
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #include <deal.II/base/point.h>
 #include <deal.II/base/quadrature.h>
-#include <deal.II/base/subscriptor.h>
 #include <deal.II/base/tensor.h>
 
 #include <vector>
index 2b1d4ce0277e1955786defb08015b142906c047e..67270b9e7e64fa5c7d3d3d67f30de4c4a97953b1 100644 (file)
@@ -19,8 +19,8 @@
 
 #include <deal.II/base/config.h>
 
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #include <deal.II/base/point.h>
-#include <deal.II/base/subscriptor.h>
 #include <deal.II/base/tensor.h>
 
 #include <deal.II/dofs/dof_handler.h>
index 04fadcef154beb555465017c506a672df547aac5..ccab37a762dcd4a192dbe217099cf05bdc69425e 100644 (file)
@@ -18,9 +18,9 @@
 
 #include <deal.II/base/config.h>
 
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #include <deal.II/base/exceptions.h>
 #include <deal.II/base/observer_pointer.h>
-#include <deal.II/base/subscriptor.h>
 #include <deal.II/base/template_constraints.h>
 
 #include <utility>
index 96aa1bd648031ae25c9d72d6eca2bb37350e0119..33ce0d3a6426c00b2766588a02c9586cabfb8ab5 100644 (file)
@@ -19,9 +19,9 @@
 
 #include <deal.II/base/array_view.h>
 #include <deal.II/base/bounding_box.h>
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #include <deal.II/base/function.h>
 #include <deal.II/base/observer_pointer.h>
-#include <deal.II/base/subscriptor.h>
 
 #include <deal.II/distributed/tria.h>
 
index 18a03f9875a21a2c3a94a5082affa69773b324d0..265ec521df3a37b4044d9b5fc0ca2627f84a207e 100644 (file)
@@ -12,8 +12,8 @@
 //
 // ------------------------------------------------------------------------
 
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #include <deal.II/base/logstream.h>
-#include <deal.II/base/subscriptor.h>
 
 #include <algorithm>
 #include <iostream>
index 2643a4d08954bcb41f1235d382b2f522a2b12d5c..994fe0b66969e73927a581e72e0e2785e2df2a6d 100644 (file)
@@ -18,8 +18,8 @@
 // pair for copy and move semantics.
 
 
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #include <deal.II/base/observer_pointer.h>
-#include <deal.II/base/subscriptor.h>
 
 #include <iostream>
 #include <vector>
index 7b6644354d42e93f62b89298020e178fafb77934..36fde02d78091e713880f8da410fbb4bbb28708b 100644 (file)
@@ -19,8 +19,8 @@
 // other tests.
 
 
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #include <deal.II/base/observer_pointer.h>
-#include <deal.II/base/subscriptor.h>
 
 #include <iostream>
 #include <vector>
index 0a368162b338641487a57d9393f3b5fe84526ad8..b57800ac1a20fb99cfdba20855e7dd951eb32389 100644 (file)
@@ -18,8 +18,8 @@
 // std::any object.
 
 
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #include <deal.II/base/observer_pointer.h>
-#include <deal.II/base/subscriptor.h>
 
 #include <any>
 #include <iostream>
index b67da69023138eb03c567c1fb9f80437523f07e3..377fdebf27e0f9029fad759191d2f99822e66f00 100644 (file)
@@ -18,9 +18,9 @@
 // available after the renaming to ObserverPointer.
 
 
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #include <deal.II/base/observer_pointer.h>
 #include <deal.II/base/smartpointer.h>
-#include <deal.II/base/subscriptor.h>
 
 #include <any>
 #include <iostream>
index 98dfd6604674cd58e2a04d30419c8b70e3326923..46b319aa35f90e13c6d25b85d8ea8b5bbec1bc2f 100644 (file)
@@ -17,8 +17,8 @@
 // check that unsubscribing with a wrong id is handled correctly
 
 
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #include <deal.II/base/observer_pointer.h>
-#include <deal.II/base/subscriptor.h>
 
 #include <iostream>
 #include <vector>
index 2eb1eab55e37c7a0fcfe27bb3164bcd56081dd3e..f122783f4b1a1d6974e93fdd942ddc455fa2ca33 100644 (file)
@@ -19,8 +19,8 @@
 // works as well
 
 
+#include <deal.II/base/enable_ref_counting_by_observer_pointer.h>
 #include <deal.II/base/observer_pointer.h>
-#include <deal.II/base/subscriptor.h>
 
 #include <iostream>
 #include <vector>

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.