5#ifndef DUNE_GRID_CONCEPTS_DATAHANDLE_HH
6#define DUNE_GRID_CONCEPTS_DATAHANDLE_HH
10#include <dune/grid/concepts/archetypes/datahandle.hh>
11#include <dune/grid/concepts/archetypes/entity.hh>
12#include <dune/grid/concepts/archetypes/messagebuffer.hh>
17concept CommDataHandle =
requires(
const DH chandle,
const Archetypes::Entity<2,0>& entity)
19 typename DH::DataType;
21 { chandle.contains( 0, 0) } -> std::convertible_to<bool>;
22 { chandle.fixedSize( 0, 0) } -> std::convertible_to<bool>;
23 { chandle.size(entity) } -> std::integral;
25 requires requires(DH handle, Archetypes::MessageBuffer<typename DH::DataType> buffer)
27 handle.gather(buffer, entity);
28 handle.scatter(buffer, entity, 0u);
32static_assert(CommDataHandle< Archetypes::CommDataHandle<double> >);
Namespace for concepts.
Definition: concept.hh:34