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