Skip to content
  • Thierry Geraud's avatar
    Add material for literals, binding arguments, and static checks. · e0e8db22
    Thierry Geraud authored
    - xtd/res.hh (xtd_res_0_ et al.): New; versions without typename.
    (xtd_internal_res_0, internal::get_res_0_unchecked): New; this
    equipment is for use in hierarchies to avoid partial definitions.
    - xtd/mexpr.hh: Add static assertions.
    - xtd/literal.hh (literal_): Rename as...
    (plain_literal_): ...this.
    (meta_literal_): New class.
    (literal_expr_): Add static assertions.
    (lit): New routine.
    (bind_1, bind_2, bind_3): New; method implementation for
    nary_fun_expr_<n, E>::bind_i. 
    - xtd/arg.hh (xtd_nargs): Remove this duplicate.
    - xtd/args.hh (xtd_nargs, nargs_): Move to...
    - xtd/abstract/fun_expr.hh: ...this file.
    (fun_expr_<E>::nargs): Remove; xtd_nargs does it.
    (xtd_res_0): Replace by...
    (xtd_internal_res_0): ...this.
    (bind_1, bind_2, bind_3): New methods.
    - xtd/abstract/exact.hh: Remove; the routine exact_of has moved...
    - xtd/abstract/fun.hh: ...here.
    - xtd/abstract/plain_fun.hh (operator()): Add static check.
    - xtd/abstract/meta_fun.hh: Add static checks.
    - tests/id.cc: Add xfail tests.
    - tests/bind.cc: New.
    - tests/lit.cc: New.
    - tests/Makefile.am: Update.
    
    
    git-svn-id: https://svn.lrde.epita.fr/svn/oln/trunk@440 4aad255d-cdde-0310-9447-f3009e2ae8c0
    e0e8db22
To find the state of this project's repository at the time of any of these versions, check out the tags.