16#ifndef dealii_q_collection_h
17#define dealii_q_collection_h
76 template <
class... QTypes>
103 template <
int dim_in>
141 template <
int dim_in>
144 for (
unsigned int i = 0; i < other.
size(); ++i)
151 template <
class... QTypes>
159 const auto q_pointers = {
161 for (
const auto p : q_pointers)
166 const auto q_pointers = {
167 (
reinterpret_cast<const Quadrature<1> *
>(&quadrature_objects))...};
168 for (
const auto p : q_pointers)
184 ExcMessage(
"You can't call this function for an empty collection"));
186 unsigned int max = 0;
187 for (
unsigned int i = 0; i < this->size(); ++i)
199 const unsigned int n_quadratures = this->size();
200 if (n_quadratures != q_collection.
size())
203 for (
unsigned int i = 0; i < n_quadratures; ++i)
204 if ((this->
operator[](i) == q_collection[i]) ==
false)
213 template <
int dim_in>
216 this->push_back(quadrature);
221 template <
int dim_in>
unsigned int size() const
bool operator==(const QCollection< dim > &q_collection) const
std::vector< std::shared_ptr< const Quadrature< dim > > > quadratures
unsigned int max_n_quadrature_points() const
QCollection(const QTypes &... quadrature_objects)
void push_back(const Quadrature< dim_in > &new_quadrature)
QCollection(const QCollection< dim_in > &other)
QCollection(const Quadrature< dim_in > &quadrature)
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_CLOSE
#define DeclException0(Exception0)
static ::ExceptionBase & ExcNotImplemented()
#define Assert(cond, exc)
static ::ExceptionBase & ExcNoQuadrature()
static ::ExceptionBase & ExcMessage(std::string arg1)
::VectorizedArray< Number, width > max(const ::VectorizedArray< Number, width > &, const ::VectorizedArray< Number, width > &)