   Grid Element Function Concept

### Grid Element Function Concept

##### Description

The Grid Element Function concept models the mathematical concept of a mapping from grid elements of some fixed type (vertex, edge, cell) which is a model of Grid Element, to values of some type T.

##### Notation

F is a type which is a model of Grid Element Function
f is an object of type F
e, e1, e2 are objects of F::element_type
t is an object of F::value_type

##### Associated types
 Name Expression Description element type F::element_type type of the underlying element, model of Grid Element synonym for F::argument_type (from Adaptable Unary Function) value type F::value_type synomym for F::result_type (from Adaptable Unary Function)

##### Valid Expressions

No new ones, besides those from Adaptable Unary Function

 Name Expression Type requirements return type function evaluation t = f(e); value_type

##### Expression semantics

The semantics of function evaluation are more restrictive than those for Adaptable Unary Function see the notes belowX.

 Name Expression Precondition Semantics Postcondition evaluation t = f(e) e is in the domain of f evaluate f at the argument e t is equal to f(e)X

##### Invariants
 Argument identity if e1 == e2 then f(e1) is equal to f(e2) X

##### Models

cell_nb_degree defined in grid-functors.h.

##### Notes
1. The important difference to STL function objects is that the latter are not guaranteed to deliver the same result for subsequent evaluations on the same argument.
2. The type F::value_type is not required to be STL Equality Comparable If it is, then e1 == e2 implies f(e1) == f(e2).   Grid Element Function Concept