16 #ifndef dealii_q_collection_h 17 #define dealii_q_collection_h 74 template <
class... QTypes>
75 explicit QCollection(
const QTypes &... quadrature_objects);
101 template <
int dim_in>
160 template <
int dim_in>
163 for (
unsigned int i = 0; i < other.
size(); ++i)
170 template <
class... QTypes>
178 const auto q_pointers = {
180 for (
const auto p : q_pointers)
185 const auto q_pointers = {
186 (
reinterpret_cast<const Quadrature<1> *
>(&quadrature_objects))...};
187 for (
const auto p : q_pointers)
212 ExcMessage(
"You can't call this function for an empty collection"));
215 for (
unsigned int i = 0; i <
quadratures.size(); ++i)
238 const unsigned int n_quadratures =
size();
239 if (n_quadratures != q_collection.
size())
242 for (
unsigned int i = 0; i < n_quadratures; ++i)
252 template <
int dim_in>
269 template <
int dim_in>
std::size_t memory_consumption() const
#define AssertIndexRange(index, range)
std::vector< std::shared_ptr< const Quadrature< dim > > > quadratures
const Quadrature< dim > & operator[](const unsigned int index) const
static ::ExceptionBase & ExcMessage(std::string arg1)
unsigned int max_n_quadrature_points() const
#define Assert(cond, exc)
#define DeclException0(Exception0)
unsigned int size() const
#define DEAL_II_NAMESPACE_CLOSE
void push_back(const Quadrature< dim_in > &new_quadrature)
#define DEAL_II_NAMESPACE_OPEN
static ::ExceptionBase & ExcNoQuadrature()
static ::ExceptionBase & ExcNotImplemented()
bool operator==(const QCollection< dim > &q_collection) const
std::enable_if< std::is_fundamental< T >::value, std::size_t >::type memory_consumption(const T &t)