15#ifndef dealii_q_collection_h
16#define dealii_q_collection_h
45 class QCollection :
public Collection<Quadrature<dim>>
75 template <
class... QTypes>
102 template <
int dim_in>
133 template <
int dim_in>
136 for (
unsigned int i = 0; i < other.size(); ++i)
143 template <
class... QTypes>
151 const auto q_pointers = {
153 for (
const auto p : q_pointers)
158 const auto q_pointers = {
159 (
reinterpret_cast<const Quadrature<1> *
>(&quadrature_objects))...};
160 for (
const auto p : q_pointers)
176 ExcMessage(
"You can't call this function for an empty collection"));
178 unsigned int max = 0;
179 for (
unsigned int i = 0; i < this->size(); ++i)
180 max =
std::max(max, this->
operator[](i).size());
191 const unsigned int n_quadratures = this->size();
192 if (n_quadratures != q_collection.size())
195 for (
unsigned int i = 0; i < n_quadratures; ++i)
196 if ((this->
operator[](i) == q_collection[i]) ==
false)
205 template <
int dim_in>
208 this->push_back(quadrature);
213 template <
int dim_in>
bool operator==(const QCollection< dim > &q_collection) const
QCollection(const QTypes &...quadrature_objects)
unsigned int max_n_quadrature_points() const
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)
#define Assert(cond, exc)
static ::ExceptionBase & ExcNoQuadrature()
static ::ExceptionBase & ExcMessage(std::string arg1)
#define DEAL_II_NOT_IMPLEMENTED()
::VectorizedArray< Number, width > max(const ::VectorizedArray< Number, width > &, const ::VectorizedArray< Number, width > &)