27 #ifndef MLN_CORE_CONCEPT_FUNCTION_HH
28 # define MLN_CORE_CONCEPT_FUNCTION_HH
34 # include <mln/core/concept/object.hh>
41 template <
typename E>
struct Function;
42 template <
typename E>
struct Function_n2v;
43 template <
typename E>
struct Function_v2v;
44 template <
typename E>
struct Function_v2b;
45 template <
typename E>
struct Function_vv2v;
46 template <
typename E>
struct Function_vv2b;
123 template <
typename E>
127 typedef void mutable_result;
149 template <
typename E>
176 template <
typename E>
201 template <
typename E>
213 # ifndef MLN_INCLUDE_ONLY
217 template <
typename E>
221 typedef mln_result(E) result;
224 template <
typename E>
231 template <
typename E>
234 Function<E>::operator=(
const Function<E>&)
241 template <
typename E>
243 Function_n2v<E>::Function_n2v()
247 template <
typename E>
249 Function_n2v<E>::Function_n2v(
const Function_n2v<E>& rhs)
257 template <
typename E>
259 Function_v2v<E>::Function_v2v()
263 template <
typename E>
265 Function_v2v<E>::Function_v2v(
const Function_v2v<E>& rhs)
272 template <
typename E>
274 Function_v2b<E>::Function_v2b()
278 template <
typename E>
280 Function_v2b<E>::Function_v2b(
const Function_v2b<E>& rhs)
281 : Function_v2v<E>(rhs)
287 template <
typename E>
289 Function_vv2v<E>::Function_vv2v()
293 template <
typename E>
295 Function_vv2v<E>::Function_vv2v(
const Function_vv2v<E>& rhs)
302 template <
typename E>
304 Function_vv2b<E>::Function_vv2b()
308 template <
typename E>
310 Function_vv2b<E>::Function_vv2b(
const Function_vv2b<E>& rhs)
315 # endif // ! MLN_INCLUDE_ONLY
320 #endif // ! MLN_CORE_CONCEPT_FUNCTION_HH