20 #ifndef LIBMESH_PARAMETER_MULTIPOINTER_H 21 #define LIBMESH_PARAMETER_MULTIPOINTER_H 46 template <
typename T=Number>
63 #ifdef LIBMESH_ENABLE_DEPRECATED 75 virtual void set (
const T & new_value)
override 77 libmesh_assert(!
_ptrs.empty());
80 const T & val = *
_ptrs.back();
82 for (std::size_t i=0; i !=
_ptrs.size(); ++i)
86 libmesh_assert_equal_to(*
_ptrs[i], val);
87 *
_ptrs[i] = new_value;
94 virtual const T &
get ()
const override 96 libmesh_assert(!
_ptrs.empty());
101 for (std::size_t i=1; i <
_ptrs.size(); ++i)
102 libmesh_assert_equal_to(*
_ptrs[i], val);
110 virtual std::unique_ptr<ParameterAccessor<T>>
clone()
const override 115 return std::unique_ptr<ParameterAccessor<T>>(pmp);
132 #endif // LIBMESH_PARAMETER_MULTIPOINTER_H
ParameterMultiPointer(T *param_ptr)
void push_back(T *new_ptr)
virtual ParameterAccessor< T > & operator=(T *) override
Stores multiple user-provided pointers.
virtual std::unique_ptr< ParameterAccessor< T > > clone() const override
Base class for reading/writing sensitivity parameters.