Index: 10.151/integre/ChangeLog 0a1,8
2004-04-13 Niels Van Vliet niels@lrde.epita.fr
- ntg/real/optraits_builtin_int.hh: Add white space after variables
of macros used as template parameters (ICC error).
- ntg/real/typetraits_builtin_int.hh: Likewise.
- ntg/core/internal/macros.hh: Likewise.
- ntg/core/macros.hh: Likewise.
Index: 10.151/metalic/ChangeLog 0a1,10
2004-04-13 Niels Van Vliet niels@lrde.epita.fr
- mlc/type.hh: Add white space after variables of macros used as
template parameters (ICC error).
- mlc/array/1d.hh: Likewise.
- mlc/array/2d.hh: Likewise.
- mlc/array/3d.hh: Likewise.
- mlc/optional.hh: Likewise.
- mlc/is_a.hh: Likewise.
Index: 10.151/olena/ChangeLog 0a1,11
2004-04-13 Niels Van Vliet niels@lrde.epita.fr
- oln/arith/internal/opdecls.hh: Add white space after variables of
macros used as template parameters (ICC error).
- oln/morpho/watershed.hxx: Likewise.
- oln/topo/dmap.hxx: Likewise.
- oln/transforms/dwt.hh: Likewise.
- oln/core/abstract/image.hh: Likewise.
- oln/morpho/attributes.hh: Likewise.
- oln/topo/tarjan/tarjan.hh: Likewise.
Index: 10.151/olena/oln/arith/internal/opdecls.hh 72c72 < : public f_##OPNAME< T1, T2, ntg_return_type(OPNAME, T1, T2) > \ ---
: public f_##OPNAME< T1, T2, ntg_return_type(OPNAME, T1, T2)> \
139c139 < struct f_##OPNAME##_cst: std::unary_function<const TYPE, TYPE> \ ---
struct f_##OPNAME##_cst: std::unary_function<const TYPE, TYPE >
\ 281c281 < return apply2<f_##OPNAME>(input1, input2); \ ---
return apply2<f_##OPNAME >(input1, input2); \
345c345 < return apply<f_##OPNAME>(input1); \ ---
return apply<f_##OPNAME >(input1); \
389c389 < return apply2<f_##OPNAME>(input1, input2); \ ---
return apply2<f_##OPNAME >(input1, input2); \
Index: 10.151/metalic/mlc/type.hh 1c1 < // Copyright (C) 2001, 2002, 2003 EPITA Research and Development Laboratory ---
// Copyright (C) 2001, 2002, 2003, 2004 EPITA Research and
Development Laboratory 242,245c242,245 < # define mlc_exact_vt_type(T, Exact) typename mlc::exact_vt<T, Exact>::ret < # define mlc_2_exact_vt_type(self, T, Exact) typename mlc::exact_vt<self<T, Exact>, Exact>::ret < # define mlc_exact_vt_type_(T, Exact) mlc::exact_vt<T, Exact>::ret < # define mlc_2_exact_vt_type_(self, T, Exact) mlc::exact_vt<self<T, Exact>, Exact>::ret ---
# define mlc_exact_vt_type(T, Exact) typename mlc::exact_vt<T, Exact ::ret # define mlc_2_exact_vt_type(self, T, Exact) typename
mlc::exact_vt<self<T, Exact >, Exact >::ret
# define mlc_exact_vt_type_(T, Exact) mlc::exact_vt<T, Exact >::ret # define mlc_2_exact_vt_type_(self, T, Exact) mlc::exact_vt<self<T,
Exact >, Exact >::ret Index: 10.151/metalic/mlc/array/1d.hh 1c1 < // Copyright (C) 2001, 2002, 2003 EPITA Research and Development Laboratory ---
// Copyright (C) 2001, 2002, 2003, 2004 EPITA Research and
Development Laboratory 270c270 < static internal::array1d_start_<T> T##s_1d = internal::array1d_start_<T>() ---
static internal::array1d_start_<T > T##s_1d =
internal::array1d_start_<T >() Index: 10.151/metalic/mlc/array/2d.hh 1c1 < // Copyright (C) 2001, 2002, 2003 EPITA Research and Development Laboratory ---
// Copyright (C) 2001, 2002, 2003, 2004 EPITA Research and
Development Laboratory 299c299 < static internal::array2d_start_<T> T##s_2d = internal::array2d_start_<T>() ---
static internal::array2d_start_<T > T##s_2d =
internal::array2d_start_<T >() Index: 10.151/metalic/mlc/array/3d.hh 1c1 < // Copyright (C) 2001, 2002, 2003 EPITA Research and Development Laboratory ---
// Copyright (C) 2001, 2002, 2003, 2004 EPITA Research and
Development Laboratory 304c304 < static internal::array3d_start_<T> T##s_3d = internal::array3d_start_<T>() ---
static internal::array3d_start_<T > T##s_3d =
internal::array3d_start_<T >() Index: 10.151/metalic/mlc/optional.hh 1c1 < // Copyright (C) 2001, 2002, 2003 EPITA Research and Development Laboratory ---
// Copyright (C) 2001, 2002, 2003, 2004 EPITA Research and
Development Laboratory 36c36 < namespace mlc ---
namespace mlc
57,59c57,59 < // argument is given. < // example: < // ---
// argument is given. // example: //
62c62 < // {} ---
// {}
68c68 < # define Optional(T, v) ((Option<T> v) = none()) ---
# define Optional(T, v) ((Option<T > v) = none())
73c73 < ---
80c80 < ---
82c82 < static inline void do_it(T) ---
static inline void do_it(T)
86c86 < static inline void do_it(T, U) ---
static inline void do_it(T, U)
90c90 < static inline void do_it(T, U, V) ---
static inline void do_it(T, U, V)
Index: 10.151/metalic/mlc/is_a.hh 1c1 < // Copyright (C) 2001, 2002, 2003 EPITA Research and Development Laboratory ---
// Copyright (C) 2001, 2002, 2003, 2004 EPITA Research and
Development Laboratory 35,36c35,37 < # define is_a__check_result_ \ < sizeof(helper<T,U>::check( (T*) helper<T,U>::makeT() )) == sizeof(mlc::internal::yes_) ---
# define is_a__check_result_ \ sizeof(helper<T ,U >::check( (T *) helper<T,U >::makeT() )) \ == sizeof(mlc::internal::yes_)
39c40 < namespace mlc ---
namespace mlc
42c43 < namespace internal ---
namespace internal
48,49c49,50 < // FIXME: This type is a workaround for g++-2.95 problem with implicit < // typename in <foo<T>::ret::dim>, ---
// FIXME: This type is a workaround for g++-2.95 problem with
implicit
// typename in <foo<T>::ret::dim>,
52c53 < ---
73c74 < ---
95c96 < ---
107,108c108,109 < < ---
121c122 < ---
128c129 < ---
179c180 < # define is_a__2nd_is_meta(T,U) mlc::internal::is_a_< id_of_typeform(U) >::check<T, U> ---
# define is_a__2nd_is_meta(T,U) mlc::internal::is_a_<
id_of_typeform(U) >::check<T, U > 183c184 < # define id_of_typeform(T) sizeof(mlc::form::get<T>()) ---
# define id_of_typeform(T) sizeof(mlc::form::get<T >())
189,190c190,191 < # define mlc_is_a(T, U) mlc::internal::wrap<typename mlc::internal::is_a_< id_of_typeform(U) >::check<T, U> > < # define mlc_is_a_(T, U) mlc::internal::wrap<mlc::internal::is_a_< id_of_typeform(U) >::check<T, U> > ---
# define mlc_is_a(T, U) mlc::internal::wrap<typename
mlc::internal::is_a_< id_of_typeform(U) >::check<T, U > >
# define mlc_is_a_(T, U) mlc::internal::wrap<mlc::internal::is_a_<
id_of_typeform(U) >::check<T, U > > Index: 10.151/olena/oln/morpho/watershed.hxx 43c43 < const DestValue mask = ntg::cast::force<DestValue>(ntg_max_val(DestValue) - 2); \ ---
const DestValue mask = ntg::cast::force<DestValue
(ntg_max_val(DestValue) - 2); \
45,47c45,47 < const DestValue init = ntg::cast::force<DestValue>(ntg_max_val(DestValue) - 1); \ < const DestValue inqueue = ntg::cast::force<DestValue>(ntg_max_val(DestValue) - 3); \ < const DestValue maxlevel = ntg::cast::force<DestValue>(inqueue - 1) /* no ; */ ---
const DestValue init = ntg::cast::force<DestValue
(ntg_max_val(DestValue) - 1); \ const DestValue inqueue = ntg::cast::force<DestValue (ntg_max_val(DestValue) - 3); \ const DestValue maxlevel = ntg::cast::force<DestValue >(inqueue -
1) /* no ; */ Index: 10.151/olena/oln/topo/dmap.hxx 1c1 < // Copyright (C) 2001, 2002, 2003 EPITA Research and Development Laboratory ---
// Copyright (C) 2001, 2002, 2003, 2004 EPITA Research and
Development Laboratory 53c53 < coord ---
coord
135c135 < mk_chamfer_##D##x##D< I, J>(E); \ ---
mk_chamfer_##D##x##D< I, J >(E); \
139,140c139,140 < # define oln_topo_chamfer3_(Name, I, J, K, D, E) \ < inline const chamfer<int>& Name##_##I##_##J##_##K() \ ---
# define oln_topo_chamfer3_(Name, I, J, K, D, E) \ inline const chamfer<int>& Name##_##I##_##J##_##K() \
143c143 < mk_chamfer_##D##x##D< I, J, K>(E); \ ---
mk_chamfer_##D##x##D< I, J, K >(E); \
213c213 < void ---
void
Index: 10.151/olena/oln/transforms/dwt.hh 52c52 < struct Name : public oln::internal::wavelet_coeffs_<Type, Size, Name> \ ---
struct Name : public oln::internal::wavelet_coeffs_<Type, Size,
Name > \ Index: 10.151/integre/ntg/real/optraits_builtin_int.hh 1c1 < // Copyright (C) 2001, 2002, 2003 EPITA Research and Development Laboratory ---
// Copyright (C) 2001, 2002, 2003, 2004 EPITA Research and
Development Laboratory 50c50 < struct optraits<Name> : public optraits<uint_value<Name> > \ ---
struct optraits<Name > : public optraits<uint_value<Name > > \
58c58 < struct optraits<Name> : public optraits<sint_value<Name> > \ ---
struct optraits<Name > : public optraits<sint_value<Name > > \
74c74 < ---
79c79 < ---
83c83 < // char is not the same as signed char. ---
// char is not the same as signed char.
Index: 10.151/integre/ntg/real/typetraits_builtin_int.hh 1c1 < // Copyright (C) 2002, 2003 EPITA Research and Development Laboratory ---
// Copyright (C) 2002, 2003, 2004 EPITA Research and Development
Laboratory 41c41 < struct typetraits<Name> : public typetraits<Value<Name> > \ ---
struct typetraits<Name> : public typetraits<Value<Name > > \
44,45c44,45 < typedef builtin::to_ntg<Name>::ret ntg_type; \ < typedef builtin::abstract_trait<Name>::ret abstract_type; \ ---
typedef builtin::to_ntg<Name >::ret ntg_type; \ typedef builtin::abstract_trait<Name >::ret abstract_type; \
49c49 < typedef typename builtin::value_type<Name, E>::ret ret; \ ---
typedef typename builtin::value_type<Name, E >::ret ret; \
58,65c58,65 < typedef builtin::signed_trait<Name>::ret signed_type; \ < typedef builtin::unsigned_trait<Name>::ret unsigned_type; \ < typedef builtin::cumul_trait<Name>::ret cumul_type; \ < typedef builtin::largest_trait<Name>::ret largest_type; \ < typedef builtin::signed_largest_trait<Name>::ret signed_largest_type; \ < typedef builtin::signed_cumul_trait<Name>::ret signed_cumul_type; \ < typedef builtin::unsigned_largest_trait<Name>::ret unsigned_largest_type; \ < typedef builtin::unsigned_cumul_trait<Name>::ret unsigned_cumul_type; \ ---
typedef builtin::signed_trait<Name >::ret signed_type; \ typedef builtin::unsigned_trait<Name >::ret unsigned_type; \ typedef builtin::cumul_trait<Name >::ret cumul_type; \ typedef builtin::largest_trait<Name >::ret largest_type; \ typedef builtin::signed_largest_trait<Name >::ret
signed_largest_type; \
typedef builtin::signed_cumul_trait<Name >::ret
signed_cumul_type; \
typedef builtin::unsigned_largest_trait<Name >::ret
unsigned_largest_type; \
typedef builtin::unsigned_cumul_trait<Name >::ret
unsigned_cumul_type; \ 115c115 < ---
126c126 < ---
158c158 < ---
161c161 < ---
Index: 10.151/integre/ntg/core/internal/macros.hh 1c1 < // Copyright (C) 2001, 2002, 2003 EPITA Research and Development Laboratory ---
// Copyright (C) 2001, 2002, 2003, 2004 EPITA Research and
Development Laboratory 46c46 < typename ntg::internal::typetraits<T>::storage_type ---
typename ntg::internal::typetraits< T >::storage_type
49c49 < typename ntg::internal::typetraits<T>::abstract_type ---
typename ntg::internal::typetraits< T >::abstract_type
52c52 < typename ntg::internal::typetraits<T>::optraits_type ---
typename ntg::internal::typetraits< T >::optraits_type
55c55 < typename ntg::internal::typetraits<T>::behavior_type ---
typename ntg::internal::typetraits< T >::behavior_type
58c58 < typename ntg::internal::typetraits<T>::base_type ---
typename ntg::internal::typetraits< T >::base_type
61c61 < typename ntg::internal::typetraits<T>::signed_type ---
typename ntg::internal::typetraits< T >::signed_type
64c64 < typename ntg::internal::typetraits<T>::unsigned_type ---
typename ntg::internal::typetraits< T >::unsigned_type
67c67 < typename ntg::internal::typetraits<T>::cumul_type ---
typename ntg::internal::typetraits< T >::cumul_type
70c70 < typename ntg::internal::typetraits<T>::largest_type ---
typename ntg::internal::typetraits< T >::largest_type
73c73 < typename ntg::internal::typetraits<T>::signed_largest_type ---
typename ntg::internal::typetraits< T >::signed_largest_type
76c76 < typename ntg::internal::typetraits<T>::signed_cumul_type ---
typename ntg::internal::typetraits< T >::signed_cumul_type
79c79 < typename ntg::internal::typetraits<T>::unsigned_largest_type ---
typename ntg::internal::typetraits< T >::unsigned_largest_type
82c82 < typename ntg::internal::typetraits<T>::unsigned_cumul_type ---
typename ntg::internal::typetraits< T >::unsigned_cumul_type
85c85 < typename ntg::internal::typetraits<T>::integer_type ---
typename ntg::internal::typetraits< T >::integer_type
Index: 10.151/integre/ntg/core/macros.hh 35,36c35,36 < # define ntg_type(T) typename ntg::type_traits<T>::ntg_type < # define ntg_type_(T) typename ntg::type_traits<T>::ntg_type ---
# define ntg_type(T) typename ntg::type_traits< T >::ntg_type # define ntg_type_(T) typename ntg::type_traits< T >::ntg_type
45,46c45,46 < # define ntg_is_a(T, U) mlc_is_a(typename ntg::type_traits<T>::abstract_type, U) < # define ntg_is_a_(T, U) mlc_is_a_(ntg::type_traits<T>::abstract_type, U) ---
# define ntg_is_a(T, U) mlc_is_a(typename ntg::type_traits< T ::abstract_type, U) # define ntg_is_a_(T, U) mlc_is_a_(ntg::type_traits< T ::abstract_type, U)
52,53c52,53 < # define ntg_abstract_type(T) typename ntg::type_traits<T>::abstract_type < # define ntg_abstract_type_(T) ntg::type_traits<T>::abstract_type ---
# define ntg_abstract_type(T) typename ntg::type_traits< T ::abstract_type # define ntg_abstract_type_(T) ntg::type_traits< T >::abstract_type
55,56c55,56 < # define ntg_storage_type(T) typename ntg::type_traits<T>::storage_type < # define ntg_storage_type_(T) ntg::type_traits<T>::storage_type ---
# define ntg_storage_type(T) typename ntg::type_traits< T >::storage_type # define ntg_storage_type_(T) ntg::type_traits< T >::storage_type
58,59c58,59 < # define ntg_base_type(T) typename ntg::type_traits<T>::base_type < # define ntg_base_type_(T) ntg::type_traits<T>::base_type ---
# define ntg_base_type(T) typename ntg::type_traits< T >::base_type # define ntg_base_type_(T) ntg::type_traits< T >::base_type
61,62c61,62 < # define ntg_signed_type(T) typename ntg::type_traits<T>::signed_type < # define ntg_signed_type_(T) ntg::type_traits<T>::signed_type ---
# define ntg_signed_type(T) typename ntg::type_traits< T >::signed_type # define ntg_signed_type_(T) ntg::type_traits< T >::signed_type
64,65c64,65 < # define ntg_unsigned_type(T) typename ntg::type_traits<T>::unsigned_type < # define ntg_unsigned_type_(T) ntg::type_traits<T>::unsigned_type ---
# define ntg_unsigned_type(T) typename ntg::type_traits< T ::unsigned_type # define ntg_unsigned_type_(T) ntg::type_traits< T >::unsigned_type
67,68c67,68 < # define ntg_integer_type(T) typename ntg::type_traits<T>::integer_type < # define ntg_integer_type_(T) ntg::type_traits<T>::integer_type ---
# define ntg_integer_type(T) typename ntg::type_traits< T >::integer_type # define ntg_integer_type_(T) ntg::type_traits< T >::integer_type
70,71c70,71 < # define ntg_cumul_type(T) typename ntg::type_traits<T>::cumul_type < # define ntg_cumul_type_(T) ntg::type_traits<T>::cumul_type ---
# define ntg_cumul_type(T) typename ntg::type_traits< T >::cumul_type # define ntg_cumul_type_(T) ntg::type_traits< T >::cumul_type
74,75c74,75 < typename ntg::type_traits<T>::signed_cumul_type < # define ntg_signed_cumul_type_(T) ntg::type_traits<T>::signed_cumul_type ---
typename ntg::type_traits< T >::signed_cumul_type # define ntg_signed_cumul_type_(T) ntg::type_traits< T ::signed_cumul_type
78,79c78,79 < typename ntg::type_traits<T>::unsigned_cumul_type < # define ntg_unsigned_cumul_type_(T) ntg::type_traits<T>::unsigned_cumul_type ---
typename ntg::type_traits< T >::unsigned_cumul_type # define ntg_unsigned_cumul_type_(T) ntg::type_traits< T ::unsigned_cumul_type
81,82c81,82 < # define ntg_largest_type(T) typename ntg::type_traits<T>::largest_type < # define ntg_largest_type_(T) ntg::type_traits<T>::largest_type ---
# define ntg_largest_type(T) typename ntg::type_traits< T >::largest_type # define ntg_largest_type_(T) ntg::type_traits< T >::largest_type
85,86c85,86 < typename ntg::type_traits<T>::signed_largest_type < # define ntg_signed_largest_type_(T) ntg::type_traits<T>::signed_largest_type ---
typename ntg::type_traits< T >::signed_largest_type # define ntg_signed_largest_type_(T) ntg::type_traits< T ::signed_largest_type
89c89 < typename ntg::type_traits<T>::unsigned_largest_type ---
typename ntg::type_traits< T >::unsigned_largest_type
91c91 < ntg::type_traits<T>::unsigned_largest_type ---
ntg::type_traits< T >::unsigned_largest_type
94c94 < typename ntg::type_traits<T>::comp_type ---
typename ntg::type_traits< T >::comp_type
96c96 < ntg::type_traits<T>::comp_type ---
ntg::type_traits< T >::comp_type
98,99c98,99 < # define ntg_unsafe_type(T) typename ntg::type_traits<T>::unsafe_type < # define ntg_unsafe_type_(T) ntg::type_traits<T>::unsafe_type ---
# define ntg_unsafe_type(T) typename ntg::type_traits< T >::unsafe_type # define ntg_unsafe_type_(T) ntg::type_traits< T >::unsafe_type
105c105 < # define ntg_zero_val(T) ntg::type_traits<T>::zero() ---
# define ntg_zero_val(T) ntg::type_traits< T >::zero()
107c107 < # define ntg_unit_val(T) ntg::type_traits<T>::unit() ---
# define ntg_unit_val(T) ntg::type_traits< T >::unit()
109c109 < # define ntg_max_val(T) ntg::type_traits<T>::max() ---
# define ntg_max_val(T) ntg::type_traits< T >::max()
111c111 < # define ntg_min_val(T) ntg::type_traits<T>::min() ---
# define ntg_min_val(T) ntg::type_traits< T >::min()
113c113 < # define ntg_inf_val(T) ntg::type_traits<T>::inf() ---
# define ntg_inf_val(T) ntg::type_traits< T >::inf()
115c115 < # define ntg_sup_val(T) ntg::type_traits<T>::sup() ---
# define ntg_sup_val(T) ntg::type_traits< T >::sup()
117c117 < # define ntg_max_print_width(T) ntg::type_traits<T>::max_print_width() ---
# define ntg_max_print_width(T) ntg::type_traits< T >::max_print_width()
119c119 < # define ntg_nb_comp(T) ntg::type_traits<T>::nb_comp ---
# define ntg_nb_comp(T) ntg::type_traits< T >::nb_comp
126c126 < typename ntg::internal::deduce_from_traits<ntg::internal::operator_##Op, T1, T2>::ret ---
typename
ntg::internal::deduce_from_traits<ntg::internal::operator_##Op , T1, T2
::ret
128c128 < ntg::internal::deduce_from_traits<ntg::internal::operator_##Op, T1, T2>::ret ---
ntg::internal::deduce_from_traits<ntg::internal::operator_##Op, T1,
T2 >::ret 131c131 < typename ntg::internal::deduce_from_traits<ntg::internal::operator_##Op, T1, T2> ---
typename
ntg::internal::deduce_from_traits<ntg::internal::operator_##Op, T1, T2 > 133c133 < ntg::internal::deduce_from_traits<ntg::internal::operator_##Op, T1, T2> ---
ntg::internal::deduce_from_traits<ntg::internal::operator_##Op, T1,
T2 > 136c136 < typename ntg::internal::deduce_from_traits<ntg::internal::operator_##Op, T1, T2>::impl ---
typename
ntg::internal::deduce_from_traits<ntg::internal::operator_##Op, T1, T2
::impl
138c138 < ntg::internal::deduce_from_traits<ntg::internal::operator_##Op, T1, T2>::impl ---
ntg::internal::deduce_from_traits<ntg::internal::operator_##Op, T1,
T2 >::impl 144c144 < # define ntg_name(T) ntg::type_traits<T>::name() ---
# define ntg_name(T) ntg::type_traits< T >::name()
155c155 < # define ntg_get_value_type(T, E) ntg::type_traits<T>::build_value_type<E> ---
# define ntg_get_value_type(T, E) ntg::type_traits< T ::build_value_type<E >
161c161 < #define ntg_nbits(T) ntg::internal::typetraits<T>::size ---
#define ntg_nbits(T) ntg::internal::typetraits< T >::size
195c195 < ntg_if_vectorial_nb_comp(B)> >::ret ---
ntg_if_vectorial_nb_comp(B) > >::ret
206c206 < ntg_if_vectorial_nb_comp_(B)> >::ret ---
ntg_if_vectorial_nb_comp_(B) > >::ret
Index: 10.151/olena/oln/core/abstract/image.hh 344c344 < typename oln::mute<ImgType>::ret ---
typename oln::mute<ImgType >::ret
Index: 10.151/olena/oln/morpho/attributes.hh 36,42c36,42 < # define attr_lambda_type(T) typename oln::morpho::attr::attr_traits<T>::lambda_type < # define attr_env_type(T) typename oln::morpho::attr::attr_traits<T>::env_type < # define attr_value_type(T) typename oln::morpho::attr::attr_traits<T>::value_type < < # define attr_lambda_type_(T) oln::morpho::attr::attr_traits<T>::lambda_type < # define attr_env_type_(T) oln::morpho::attr::attr_traits<T>::env_type < # define attr_value_type_(T) oln::morpho::attr::attr_traits<T>::value_type ---
# define attr_lambda_type(T) typename oln::morpho::attr::attr_traits<
T >::lambda_type
# define attr_env_type(T) typename oln::morpho::attr::attr_traits< T ::env_type # define attr_value_type(T) typename oln::morpho::attr::attr_traits<
T >::value_type
# define attr_lambda_type_(T) oln::morpho::attr::attr_traits< T ::lambda_type # define attr_env_type_(T) oln::morpho::attr::attr_traits< T >::env_type # define attr_value_type_(T) oln::morpho::attr::attr_traits< T ::value_type
Index: 10.151/olena/oln/topo/tarjan/tarjan.hh 33,35c33,35 < # define oln_tarjan_input_type(T) typename oln::topo::tarjan::tarjan_traits<T>::input_type < # define oln_tarjan_output_type(T) typename oln::topo::tarjan::tarjan_traits<T>::output_type < # define oln_tarjan_attr_type(T) typename oln::topo::tarjan::tarjan_traits<T>::attr_type ---
# define oln_tarjan_input_type(T) typename
oln::topo::tarjan::tarjan_traits<T >::input_type
# define oln_tarjan_output_type(T) typename
oln::topo::tarjan::tarjan_traits<T >::output_type
# define oln_tarjan_attr_type(T) typename
oln::topo::tarjan::tarjan_traits<T >::attr_type
Akim Demaille wrote:
Patch illisible ! À renvoyer !
J'ai ajouté un espace dans le macros utilisant un argument comme paramètre de template. De base, prdiff n'affiche pas les lignes où uniquement un espace est ajouté.
Index: integre/ChangeLog from Niels Van Vliet niels@lrde.epita.fr
* ntg/real/optraits_builtin_int.hh: Add white space after variables of macros used as template parameters (ICC error). * ntg/real/typetraits_builtin_int.hh: Likewise. * ntg/core/internal/macros.hh: Likewise. * ntg/core/macros.hh: Likewise.
Index: metalic/ChangeLog from Niels Van Vliet niels@lrde.epita.fr
* mlc/type.hh: Add white space after variables of macros used as template parameters (ICC error). * mlc/array/1d.hh: Likewise. * mlc/array/2d.hh: Likewise. * mlc/array/3d.hh: Likewise. * mlc/optional.hh: Likewise. * mlc/is_a.hh: Likewise.
Index: olena/ChangeLog from Niels Van Vliet niels@lrde.epita.fr
* oln/arith/internal/opdecls.hh: Add white space after variables of macros used as template parameters (ICC error). * oln/morpho/watershed.hxx: Likewise. * oln/topo/dmap.hxx: Likewise. * oln/transforms/dwt.hh: Likewise. * oln/core/abstract/image.hh: Likewise. * oln/morpho/attributes.hh: Likewise. * oln/topo/tarjan/tarjan.hh: Likewise.
Index: olena/oln/arith/internal/opdecls.hh --- olena/oln/arith/internal/opdecls.hh Mon, 15 Mar 2004 17:40:54 +0100 van-vl_n (oln/b/22_opdecls.hh 1.18 600) +++ olena/oln/arith/internal/opdecls.hh Tue, 13 Apr 2004 17:31:32 +0200 van-vl_n (oln/b/22_opdecls.hh 1.19 640) @@ -69,7 +69,7 @@ \ template <class T1, class T2 = T1> \ struct default_f_##OPNAME \ - : public f_##OPNAME< T1, T2, ntg_return_type(OPNAME, T1, T2) > \ + : public f_##OPNAME< T1, T2, ntg_return_type(OPNAME, T1, T2)> \ {} /* no ; */
@@ -136,7 +136,7 @@ ** \arg TYPE Type that can be used. */ # define oln_arith_declare_binfixedtypecst_functor_(OPNAME, OPCODE_CST, TYPE) \ - struct f_##OPNAME##_cst: std::unary_function<const TYPE, TYPE> \ + struct f_##OPNAME##_cst: std::unary_function<const TYPE, TYPE > \ { \ f_##OPNAME##_cst(TYPE cst) : cst_(cst) {} \ \ @@ -278,7 +278,7 @@ typename mute<I1, typename f_##OPNAME::result_type>::ret \ OPNAME(const abstract::image<I1>& input1, const abstract::image<I2>& input2) \ { \ - return apply2<f_##OPNAME>(input1, input2); \ + return apply2<f_##OPNAME >(input1, input2); \ } \ \ /* Same as above, plus conversion. */ \ @@ -342,7 +342,7 @@ typename mute<I, typename f_##OPNAME::result_type>::ret \ OPNAME(const abstract::image<I>& input1) \ { \ - return apply<f_##OPNAME>(input1); \ + return apply<f_##OPNAME >(input1); \ } \ \ /* Same as above, plus conversion. */ \ @@ -386,7 +386,7 @@ typename f_##OPNAME<oln_value_type(I1), oln_value_type(I1)>::result_type>::ret \ OPNAME(const abstract::image<I1>& input1, const abstract::image<I2>& input2) \ { \ - return apply2<f_##OPNAME>(input1, input2); \ + return apply2<f_##OPNAME >(input1, input2); \ } \ \ /* Same as above, plus conversion. */ \ Index: metalic/mlc/type.hh --- metalic/mlc/type.hh Mon, 09 Feb 2004 18:57:03 +0100 palma_g (oln/c/21_type.hh 1.28 600) +++ metalic/mlc/type.hh Tue, 13 Apr 2004 17:31:32 +0200 van-vl_n (oln/c/21_type.hh 1.29 640) @@ -1,4 +1,4 @@ -// Copyright (C) 2001, 2002, 2003 EPITA Research and Development Laboratory +// Copyright (C) 2001, 2002, 2003, 2004 EPITA Research and Development Laboratory // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -239,10 +239,10 @@
// Return the exact virtual type of two given types (inheritance determination).
-# define mlc_exact_vt_type(T, Exact) typename mlc::exact_vt<T, Exact>::ret -# define mlc_2_exact_vt_type(self, T, Exact) typename mlc::exact_vt<self<T, Exact>, Exact>::ret -# define mlc_exact_vt_type_(T, Exact) mlc::exact_vt<T, Exact>::ret -# define mlc_2_exact_vt_type_(self, T, Exact) mlc::exact_vt<self<T, Exact>, Exact>::ret +# define mlc_exact_vt_type(T, Exact) typename mlc::exact_vt<T, Exact
::ret
+# define mlc_2_exact_vt_type(self, T, Exact) typename mlc::exact_vt<self<T, Exact >, Exact >::ret +# define mlc_exact_vt_type_(T, Exact) mlc::exact_vt<T, Exact >::ret +# define mlc_2_exact_vt_type_(self, T, Exact) mlc::exact_vt<self<T, Exact >, Exact >::ret
namespace mlc { Index: metalic/mlc/array/1d.hh --- metalic/mlc/array/1d.hh Mon, 19 Jan 2004 18:52:05 +0100 astrid (oln/f/23_array1d.hh 1.11 600) +++ metalic/mlc/array/1d.hh Tue, 13 Apr 2004 17:31:32 +0200 van-vl_n (oln/f/23_array1d.hh 1.12 640) @@ -1,4 +1,4 @@ -// Copyright (C) 2001, 2002, 2003 EPITA Research and Development Laboratory +// Copyright (C) 2001, 2002, 2003, 2004 EPITA Research and Development Laboratory // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -267,7 +267,7 @@ // returning a starter.
# define array1d_starter(T) \ - static internal::array1d_start_<T> T##s_1d = internal::array1d_start_<T>() + static internal::array1d_start_<T > T##s_1d = internal::array1d_start_<T >()
array1d_starter(int); // ints_1d array1d_starter(float); // floats_1d Index: metalic/mlc/array/2d.hh --- metalic/mlc/array/2d.hh Mon, 19 Jan 2004 18:52:05 +0100 astrid (oln/f/21_array2d.hh 1.11 600) +++ metalic/mlc/array/2d.hh Tue, 13 Apr 2004 17:31:32 +0200 van-vl_n (oln/f/21_array2d.hh 1.12 640) @@ -1,4 +1,4 @@ -// Copyright (C) 2001, 2002, 2003 EPITA Research and Development Laboratory +// Copyright (C) 2001, 2002, 2003, 2004 EPITA Research and Development Laboratory // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -296,7 +296,7 @@ // returning a starter.
# define array2d_starter(T) \ - static internal::array2d_start_<T> T##s_2d = internal::array2d_start_<T>() + static internal::array2d_start_<T > T##s_2d = internal::array2d_start_<T >()
array2d_starter(int); // ints_2d array2d_starter(float); // floats_2d Index: metalic/mlc/array/3d.hh --- metalic/mlc/array/3d.hh Mon, 19 Jan 2004 18:52:05 +0100 astrid (oln/f/19_array3d.hh 1.12 600) +++ metalic/mlc/array/3d.hh Tue, 13 Apr 2004 17:31:32 +0200 van-vl_n (oln/f/19_array3d.hh 1.13 640) @@ -1,4 +1,4 @@ -// Copyright (C) 2001, 2002, 2003 EPITA Research and Development Laboratory +// Copyright (C) 2001, 2002, 2003, 2004 EPITA Research and Development Laboratory // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -301,7 +301,7 @@ // returning a starter.
# define array3d_starter(T) \ - static internal::array3d_start_<T> T##s_3d = internal::array3d_start_<T>() + static internal::array3d_start_<T > T##s_3d = internal::array3d_start_<T >()
array3d_starter(int); // ints_3d array3d_starter(float); // floats_3d Index: metalic/mlc/optional.hh --- metalic/mlc/optional.hh Thu, 07 Aug 2003 02:37:23 +0200 burrus_n (oln/o/41_optional.h 1.7 600) +++ metalic/mlc/optional.hh Tue, 13 Apr 2004 17:31:32 +0200 van-vl_n (oln/o/41_optional.h 1.8 640) @@ -1,4 +1,4 @@ -// Copyright (C) 2001, 2002, 2003 EPITA Research and Development Laboratory +// Copyright (C) 2001, 2002, 2003, 2004 EPITA Research and Development Laboratory // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -33,7 +33,7 @@
# if 0
-namespace mlc +namespace mlc {
// This class is used as a static tag for specialization of certain @@ -54,40 +54,40 @@ // Optional is meant to enable optional static argument with variant // types. The 'Decl' argument must have a free template argument to // permit the substitution of the class 'none' to it when no - // argument is given. - // example: - // + // argument is given. + // example: + // // template <class U, class T> // void foo(U arg1, Optional(T& arg2)) // here T is free. - // {} + // {} // // Then, you can write: // foo(1); // T = none // foo(1, 2); // T = int // foo(1, "bar"); // T = char * -# define Optional(T, v) ((Option<T> v) = none()) +# define Optional(T, v) ((Option<T > v) = none())
// Depending on the presence of optional argument, we have different // specialization of the algorithm. Here are several helper classes // and macros. - + // Do nothing in the general case. template <class Behaviour, class OptionalArgument> struct optional_behavior { static inline void do_it() {} - + template <class T> - static inline void do_it(T) + static inline void do_it(T) {}
template <class T, class U> - static inline void do_it(T, U) + static inline void do_it(T, U) {}
template <class T, class U, class V> - static inline void do_it(T, U, V) + static inline void do_it(T, U, V) {} };
Index: metalic/mlc/is_a.hh --- metalic/mlc/is_a.hh Thu, 07 Aug 2003 02:37:23 +0200 burrus_n (oln/g/33_type.hh 1.12 600) +++ metalic/mlc/is_a.hh Tue, 13 Apr 2004 17:31:32 +0200 van-vl_n (oln/g/33_type.hh 1.13 640) @@ -1,4 +1,4 @@ -// Copyright (C) 2001, 2002, 2003 EPITA Research and Development Laboratory +// Copyright (C) 2001, 2002, 2003, 2004 EPITA Research and Development Laboratory // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -32,24 +32,25 @@ # include <mlc/bool.hh>
// private macro so do _not_ use it -# define is_a__check_result_ \ -sizeof(helper<T,U>::check( (T*) helper<T,U>::makeT() )) == sizeof(mlc::internal::yes_) +# define is_a__check_result_ \ +sizeof(helper<T ,U >::check( (T *) helper<T,U >::makeT() )) \ +== sizeof(mlc::internal::yes_)
-namespace mlc +namespace mlc {
- namespace internal + namespace internal {
// // wrap // - // FIXME: This type is a workaround for g++-2.95 problem with implicit - // typename in <foo<T>::ret::dim>, + // FIXME: This type is a workaround for g++-2.95 problem with implicit + // typename in <foo<T>::ret::dim>, // write <wrap<typename foo<T>::ret>::dim instead. // - + template <class T> struct wrap : public T {};
} // internal @@ -70,7 +71,7 @@ // template_l_unsigned_class_g_class_ = 4 // ... }; - + template<unsigned id> struct desc { char dummy[id]; }; @@ -92,7 +93,7 @@
namespace internal { - + typedef char yes_; struct no_ { char dummy[2]; };
@@ -104,8 +105,8 @@ struct is_a_;
// _class_ - - + + template<> struct is_a_< form::class_ > { @@ -118,14 +119,14 @@ static no_ check(...); static T* makeT(); }; - + template<class T, class U> struct check : public mlc::returns_bool_<( is_a__check_result_ )> { }; }; - + // template_l_class_g_class_
template<> @@ -176,17 +177,17 @@ } // end of mlc
// private macros: do _not_ use them -# define is_a__2nd_is_meta(T,U) mlc::internal::is_a_< id_of_typeform(U)
::check<T, U>
+# define is_a__2nd_is_meta(T,U) mlc::internal::is_a_< id_of_typeform(U)
::check<T, U >
// client macros
-# define id_of_typeform(T) sizeof(mlc::form::get<T>()) +# define id_of_typeform(T) sizeof(mlc::form::get<T >())
template <class T> struct id_ { typedef T ret; };
// FIXME: can we get rid of mlc::wrap ? -# define mlc_is_a(T, U) mlc::internal::wrap<typename mlc::internal::is_a_< id_of_typeform(U) >::check<T, U> > -# define mlc_is_a_(T, U) mlc::internal::wrap<mlc::internal::is_a_< id_of_typeform(U) >::check<T, U> > +# define mlc_is_a(T, U) mlc::internal::wrap<typename mlc::internal::is_a_< id_of_typeform(U) >::check<T, U > > +# define mlc_is_a_(T, U) mlc::internal::wrap<mlc::internal::is_a_< id_of_typeform(U) >::check<T, U > >
#endif // ndef METALIC_IS_A_HH Index: olena/oln/morpho/watershed.hxx --- olena/oln/morpho/watershed.hxx Fri, 12 Mar 2004 13:29:59 +0100 palma_g (oln/47_watershed. 1.9.1.5.1.6 600) +++ olena/oln/morpho/watershed.hxx Tue, 13 Apr 2004 17:31:32 +0200 van-vl_n (oln/47_watershed. 1.9.1.5.1.7 640) @@ -40,11 +40,11 @@ /* GCC's optimizer is smart enough to compute these values at compile time and really use them as constants. That's great. */ # define oln_morpho_declare_soille_watershed_consts_(DestValue) \ - const DestValue mask = ntg::cast::force<DestValue>(ntg_max_val(DestValue) - 2); \ + const DestValue mask = ntg::cast::force<DestValue
(ntg_max_val(DestValue) - 2); \
const DestValue wshed = ntg_max_val(DestValue); \ - const DestValue init = ntg::cast::force<DestValue>(ntg_max_val(DestValue) - 1); \ - const DestValue inqueue = ntg::cast::force<DestValue>(ntg_max_val(DestValue) - 3); \ - const DestValue maxlevel = ntg::cast::force<DestValue>(inqueue - 1) /* no ; */ + const DestValue init = ntg::cast::force<DestValue
(ntg_max_val(DestValue) - 1); \
+ const DestValue inqueue = ntg::cast::force<DestValue
(ntg_max_val(DestValue) - 3); \
+ const DestValue maxlevel = ntg::cast::force<DestValue >(inqueue - 1) /* no ; */
namespace internal {
Index: olena/oln/topo/dmap.hxx --- olena/oln/topo/dmap.hxx Fri, 23 Jan 2004 18:06:28 +0100 van-vl_n (oln/p/3_dmap.hxx 1.7.1.9 600) +++ olena/oln/topo/dmap.hxx Tue, 13 Apr 2004 17:31:32 +0200 van-vl_n (oln/p/3_dmap.hxx 1.7.1.10 640) @@ -1,4 +1,4 @@ -// Copyright (C) 2001, 2002, 2003 EPITA Research and Development Laboratory +// Copyright (C) 2001, 2002, 2003, 2004 EPITA Research and Development Laboratory // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -50,7 +50,7 @@ {}
template <class T> - coord + coord chamfer<T>::delta() const { coord d = fwd.delta(); @@ -132,15 +132,15 @@ inline const chamfer<int>& Name##_##I##_##J() \ { \ static const chamfer<int> tmp = \ - mk_chamfer_##D##x##D< I, J>(E); \ + mk_chamfer_##D##x##D< I, J >(E); \ return tmp; \ }
-# define oln_topo_chamfer3_(Name, I, J, K, D, E) \ - inline const chamfer<int>& Name##_##I##_##J##_##K() \ +# define oln_topo_chamfer3_(Name, I, J, K, D, E) \ + inline const chamfer<int>& Name##_##I##_##J##_##K() \ { \ static const chamfer<int> tmp = \ - mk_chamfer_##D##x##D< I, J, K>(E); \ + mk_chamfer_##D##x##D< I, J, K >(E); \ return tmp; \ }
@@ -210,7 +210,7 @@
template <class T, class T2> template <class V> - void + void dmap<T, T2>::compute(const image2d<V>& input, float infty) { Index: olena/oln/transforms/dwt.hh --- olena/oln/transforms/dwt.hh Fri, 02 Apr 2004 18:35:36 +0200 van-vl_n (oln/i/35_dwt.hh 1.2.1.4.1.13 600) +++ olena/oln/transforms/dwt.hh Tue, 13 Apr 2004 17:31:32 +0200 van-vl_n (oln/i/35_dwt.hh 1.2.1.4.1.14 640) @@ -49,7 +49,7 @@ // macros used to define all the wavelets coefficients
# define Wavelet_coeffs_definition(Name, Type, Size) \ - struct Name : public oln::internal::wavelet_coeffs_<Type, Size, Name> \ + struct Name : public oln::internal::wavelet_coeffs_<Type, Size, Name > \ { \ Name()
Index: integre/ntg/real/optraits_builtin_int.hh --- integre/ntg/real/optraits_builtin_int.hh Thu, 27 Nov 2003 11:26:27 +0100 burrus_n (oln/g/18_optraits_b 1.6.1.8.1.1 600) +++ integre/ntg/real/optraits_builtin_int.hh Tue, 13 Apr 2004 17:31:32 +0200 van-vl_n (oln/g/18_optraits_b 1.6.1.8.1.2 640) @@ -1,4 +1,4 @@ -// Copyright (C) 2001, 2002, 2003 EPITA Research and Development Laboratory +// Copyright (C) 2001, 2002, 2003, 2004 EPITA Research and Development Laboratory // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -47,7 +47,7 @@
# define OPTRAITS_BUILTIN_INT_U(Name, Max) \ template <> \ - struct optraits<Name> : public optraits<uint_value<Name> > \ + struct optraits<Name > : public optraits<uint_value<Name > > \ { \ static Name max() { return Max; } \ static std::string name() { return std::string(#Name); } \ @@ -55,7 +55,7 @@
# define OPTRAITS_BUILTIN_INT_S(Name, Min, Max) \ template <> \ - struct optraits<Name> : public optraits<sint_value<Name> > \ + struct optraits<Name > : public optraits<sint_value<Name > > \ { \ static Name min() { return Min; } \ static Name max() { return Max; } \ @@ -71,16 +71,16 @@ called when there is an operator_xxx_traits defined, else builtin are converted into oln type. */ - + OPTRAITS_BUILTIN_INT_U(unsigned long, ULONG_MAX); OPTRAITS_BUILTIN_INT_U(unsigned int, UINT_MAX); OPTRAITS_BUILTIN_INT_U(unsigned short, USHRT_MAX); OPTRAITS_BUILTIN_INT_U(unsigned char, UCHAR_MAX); - + OPTRAITS_BUILTIN_INT_S(signed long, LONG_MIN, LONG_MAX); OPTRAITS_BUILTIN_INT_S(signed int, INT_MIN, INT_MAX); OPTRAITS_BUILTIN_INT_S(signed short, SHRT_MIN, SHRT_MAX); - // char is not the same as signed char. + // char is not the same as signed char. OPTRAITS_BUILTIN_INT_S(signed char, CHAR_MIN, CHAR_MAX); // FIXME: whether char is signed or not is implementation defined. OPTRAITS_BUILTIN_INT_S(char, CHAR_MIN, CHAR_MAX); Index: integre/ntg/real/typetraits_builtin_int.hh --- integre/ntg/real/typetraits_builtin_int.hh Thu, 27 Nov 2003 11:26:27 +0100 burrus_n (oln/g/3_typetraits 1.7.1.11.1.1 600) +++ integre/ntg/real/typetraits_builtin_int.hh Tue, 13 Apr 2004 17:31:32 +0200 van-vl_n (oln/g/3_typetraits 1.7.1.11.1.2 640) @@ -1,4 +1,4 @@ -// Copyright (C) 2002, 2003 EPITA Research and Development Laboratory +// Copyright (C) 2002, 2003, 2004 EPITA Research and Development Laboratory // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -38,15 +38,15 @@
# define TYPETRAITS_BUILTIN_INT(Name, Value) \ template<> \ - struct typetraits<Name> : public typetraits<Value<Name> > \ + struct typetraits<Name> : public typetraits<Value<Name > > \ { \ typedef Name self; \ - typedef builtin::to_ntg<Name>::ret ntg_type; \ - typedef builtin::abstract_trait<Name>::ret abstract_type; \ + typedef builtin::to_ntg<Name >::ret ntg_type; \ + typedef builtin::abstract_trait<Name >::ret abstract_type; \ template <class E> \ struct build_value_type \ { \ - typedef typename builtin::value_type<Name, E>::ret ret; \ + typedef typename builtin::value_type<Name, E >::ret ret; \ }; \ \ typedef optraits<self> optraits; \ @@ -55,14 +55,14 @@ \ typedef self base_type; \ typedef self storage_type; \ - typedef builtin::signed_trait<Name>::ret signed_type; \ - typedef builtin::unsigned_trait<Name>::ret unsigned_type; \ - typedef builtin::cumul_trait<Name>::ret cumul_type; \ - typedef builtin::largest_trait<Name>::ret largest_type; \ - typedef builtin::signed_largest_trait<Name>::ret signed_largest_type; \ - typedef builtin::signed_cumul_trait<Name>::ret signed_cumul_type; \ - typedef builtin::unsigned_largest_trait<Name>::ret unsigned_largest_type; \ - typedef builtin::unsigned_cumul_trait<Name>::ret unsigned_cumul_type; \ + typedef builtin::signed_trait<Name >::ret signed_type; \ + typedef builtin::unsigned_trait<Name >::ret unsigned_type; \ + typedef builtin::cumul_trait<Name >::ret cumul_type; \ + typedef builtin::largest_trait<Name >::ret largest_type; \ + typedef builtin::signed_largest_trait<Name >::ret signed_largest_type; \ + typedef builtin::signed_cumul_trait<Name >::ret signed_cumul_type; \ + typedef builtin::unsigned_largest_trait<Name >::ret unsigned_largest_type; \ + typedef builtin::unsigned_cumul_trait<Name >::ret unsigned_cumul_type; \ typedef self integer_type; \ };
@@ -112,7 +112,7 @@ template <class T> struct signed_largest_trait { typedef signed int ret; }; template <> struct signed_largest_trait<unsigned long> { typedef signed long ret; }; - + template <class T> struct signed_cumul_trait { typedef signed int ret; }; template <> struct signed_cumul_trait<unsigned long> { typedef signed long ret; }; @@ -123,7 +123,7 @@ template <class T> struct unsigned_largest_trait { typedef unsigned int ret; }; template <> struct unsigned_largest_trait< signed long> { typedef unsigned long ret; }; - + template <class T> struct unsigned_cumul_trait { typedef unsigned int ret; }; template <> struct unsigned_cumul_trait<signed long> { typedef unsigned long ret; }; @@ -155,10 +155,10 @@
TYPETRAITS_BUILTIN_INT(unsigned long, uint_value) TYPETRAITS_BUILTIN_INT(signed long, sint_value) - + TYPETRAITS_BUILTIN_INT(unsigned int, uint_value) TYPETRAITS_BUILTIN_INT(signed int, sint_value) - + TYPETRAITS_BUILTIN_INT(unsigned short, uint_value) TYPETRAITS_BUILTIN_INT(signed short, sint_value)
Index: integre/ntg/core/internal/macros.hh --- integre/ntg/core/internal/macros.hh Tue, 13 May 2003 21:32:45 +0200 burrus_n (oln/s/17_macros.hh 1.2 600) +++ integre/ntg/core/internal/macros.hh Tue, 13 Apr 2004 17:31:32 +0200 van-vl_n (oln/s/17_macros.hh 1.3 640) @@ -1,4 +1,4 @@ -// Copyright (C) 2001, 2002, 2003 EPITA Research and Development Laboratory +// Copyright (C) 2001, 2002, 2003, 2004 EPITA Research and Development Laboratory // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -43,45 +43,45 @@ */
# define ntgi_storage_type(T) \ -typename ntg::internal::typetraits<T>::storage_type +typename ntg::internal::typetraits< T >::storage_type
# define ntgi_abstract_type(T) \ -typename ntg::internal::typetraits<T>::abstract_type +typename ntg::internal::typetraits< T >::abstract_type
# define ntgi_optraits_type(T) \ -typename ntg::internal::typetraits<T>::optraits_type +typename ntg::internal::typetraits< T >::optraits_type
# define ntgi_behavior_type(T) \ -typename ntg::internal::typetraits<T>::behavior_type +typename ntg::internal::typetraits< T >::behavior_type
# define ntgi_base_type(T) \ -typename ntg::internal::typetraits<T>::base_type +typename ntg::internal::typetraits< T >::base_type
# define ntgi_signed_type(T) \ -typename ntg::internal::typetraits<T>::signed_type +typename ntg::internal::typetraits< T >::signed_type
# define ntgi_unsigned_type(T) \ -typename ntg::internal::typetraits<T>::unsigned_type +typename ntg::internal::typetraits< T >::unsigned_type
# define ntgi_cumul_type(T) \ -typename ntg::internal::typetraits<T>::cumul_type +typename ntg::internal::typetraits< T >::cumul_type
# define ntgi_largest_type(T) \ -typename ntg::internal::typetraits<T>::largest_type +typename ntg::internal::typetraits< T >::largest_type
# define ntgi_signed_largest_type(T) \ -typename ntg::internal::typetraits<T>::signed_largest_type +typename ntg::internal::typetraits< T >::signed_largest_type
# define ntgi_signed_cumul_type(T) \ -typename ntg::internal::typetraits<T>::signed_cumul_type +typename ntg::internal::typetraits< T >::signed_cumul_type
# define ntgi_unsigned_largest_type(T) \ -typename ntg::internal::typetraits<T>::unsigned_largest_type +typename ntg::internal::typetraits< T >::unsigned_largest_type
# define ntgi_unsigned_cumul_type(T) \ -typename ntg::internal::typetraits<T>::unsigned_cumul_type +typename ntg::internal::typetraits< T >::unsigned_cumul_type
# define ntgi_integer_type(T) \ -typename ntg::internal::typetraits<T>::integer_type +typename ntg::internal::typetraits< T >::integer_type
#endif // !NTG_CORE_INTERNAL_MACROS_HH Index: integre/ntg/core/macros.hh --- integre/ntg/core/macros.hh Fri, 26 Mar 2004 20:56:28 +0100 van-vl_n (oln/s/19_macros.hh 1.11 600) +++ integre/ntg/core/macros.hh Tue, 13 Apr 2004 17:31:32 +0200 van-vl_n (oln/s/19_macros.hh 1.12 640) @@ -32,8 +32,8 @@ | casts | `------*/
-# define ntg_type(T) typename ntg::type_traits<T>::ntg_type -# define ntg_type_(T) typename ntg::type_traits<T>::ntg_type +# define ntg_type(T) typename ntg::type_traits< T >::ntg_type +# define ntg_type_(T) typename ntg::type_traits< T >::ntg_type
# define ntg_cast(Val) ntg::to_ntg(Val) # define ntg_signed_cast(Val) ntg::to_signed_ntg(Val) @@ -42,106 +42,106 @@ | type checking | `--------------*/
-# define ntg_is_a(T, U) mlc_is_a(typename ntg::type_traits<T>::abstract_type, U) -# define ntg_is_a_(T, U) mlc_is_a_(ntg::type_traits<T>::abstract_type, U) +# define ntg_is_a(T, U) mlc_is_a(typename ntg::type_traits< T
::abstract_type, U)
+# define ntg_is_a_(T, U) mlc_is_a_(ntg::type_traits< T >::abstract_type, U)
/*----------------. | types accessors | `----------------*/
-# define ntg_abstract_type(T) typename ntg::type_traits<T>::abstract_type -# define ntg_abstract_type_(T) ntg::type_traits<T>::abstract_type +# define ntg_abstract_type(T) typename ntg::type_traits< T >::abstract_type +# define ntg_abstract_type_(T) ntg::type_traits< T >::abstract_type
-# define ntg_storage_type(T) typename ntg::type_traits<T>::storage_type -# define ntg_storage_type_(T) ntg::type_traits<T>::storage_type +# define ntg_storage_type(T) typename ntg::type_traits< T >::storage_type +# define ntg_storage_type_(T) ntg::type_traits< T >::storage_type
-# define ntg_base_type(T) typename ntg::type_traits<T>::base_type -# define ntg_base_type_(T) ntg::type_traits<T>::base_type +# define ntg_base_type(T) typename ntg::type_traits< T >::base_type +# define ntg_base_type_(T) ntg::type_traits< T >::base_type
-# define ntg_signed_type(T) typename ntg::type_traits<T>::signed_type -# define ntg_signed_type_(T) ntg::type_traits<T>::signed_type +# define ntg_signed_type(T) typename ntg::type_traits< T >::signed_type +# define ntg_signed_type_(T) ntg::type_traits< T >::signed_type
-# define ntg_unsigned_type(T) typename ntg::type_traits<T>::unsigned_type -# define ntg_unsigned_type_(T) ntg::type_traits<T>::unsigned_type +# define ntg_unsigned_type(T) typename ntg::type_traits< T >::unsigned_type +# define ntg_unsigned_type_(T) ntg::type_traits< T >::unsigned_type
-# define ntg_integer_type(T) typename ntg::type_traits<T>::integer_type -# define ntg_integer_type_(T) ntg::type_traits<T>::integer_type +# define ntg_integer_type(T) typename ntg::type_traits< T >::integer_type +# define ntg_integer_type_(T) ntg::type_traits< T >::integer_type
-# define ntg_cumul_type(T) typename ntg::type_traits<T>::cumul_type -# define ntg_cumul_type_(T) ntg::type_traits<T>::cumul_type +# define ntg_cumul_type(T) typename ntg::type_traits< T >::cumul_type +# define ntg_cumul_type_(T) ntg::type_traits< T >::cumul_type
# define ntg_signed_cumul_type(T) \ - typename ntg::type_traits<T>::signed_cumul_type -# define ntg_signed_cumul_type_(T) ntg::type_traits<T>::signed_cumul_type + typename ntg::type_traits< T >::signed_cumul_type +# define ntg_signed_cumul_type_(T) ntg::type_traits< T >::signed_cumul_type
# define ntg_unsigned_cumul_type(T) \ - typename ntg::type_traits<T>::unsigned_cumul_type -# define ntg_unsigned_cumul_type_(T) ntg::type_traits<T>::unsigned_cumul_type + typename ntg::type_traits< T >::unsigned_cumul_type +# define ntg_unsigned_cumul_type_(T) ntg::type_traits< T
::unsigned_cumul_type
-# define ntg_largest_type(T) typename ntg::type_traits<T>::largest_type -# define ntg_largest_type_(T) ntg::type_traits<T>::largest_type +# define ntg_largest_type(T) typename ntg::type_traits< T >::largest_type +# define ntg_largest_type_(T) ntg::type_traits< T >::largest_type
# define ntg_signed_largest_type(T) \ - typename ntg::type_traits<T>::signed_largest_type -# define ntg_signed_largest_type_(T) ntg::type_traits<T>::signed_largest_type + typename ntg::type_traits< T >::signed_largest_type +# define ntg_signed_largest_type_(T) ntg::type_traits< T
::signed_largest_type
# define ntg_unsigned_largest_type(T) \ - typename ntg::type_traits<T>::unsigned_largest_type + typename ntg::type_traits< T >::unsigned_largest_type # define ntg_unsigned_largest_type_(T) \ - ntg::type_traits<T>::unsigned_largest_type + ntg::type_traits< T >::unsigned_largest_type
# define ntg_comp_type(T) \ - typename ntg::type_traits<T>::comp_type + typename ntg::type_traits< T >::comp_type # define ntg_comp_type_(T) \ - ntg::type_traits<T>::comp_type + ntg::type_traits< T >::comp_type
-# define ntg_unsafe_type(T) typename ntg::type_traits<T>::unsafe_type -# define ntg_unsafe_type_(T) ntg::type_traits<T>::unsafe_type +# define ntg_unsafe_type(T) typename ntg::type_traits< T >::unsafe_type +# define ntg_unsafe_type_(T) ntg::type_traits< T >::unsafe_type
/*-----------------. | values accessors | `-----------------*/
-# define ntg_zero_val(T) ntg::type_traits<T>::zero() +# define ntg_zero_val(T) ntg::type_traits< T >::zero()
-# define ntg_unit_val(T) ntg::type_traits<T>::unit() +# define ntg_unit_val(T) ntg::type_traits< T >::unit()
-# define ntg_max_val(T) ntg::type_traits<T>::max() +# define ntg_max_val(T) ntg::type_traits< T >::max()
-# define ntg_min_val(T) ntg::type_traits<T>::min() +# define ntg_min_val(T) ntg::type_traits< T >::min()
-# define ntg_inf_val(T) ntg::type_traits<T>::inf() +# define ntg_inf_val(T) ntg::type_traits< T >::inf()
-# define ntg_sup_val(T) ntg::type_traits<T>::sup() +# define ntg_sup_val(T) ntg::type_traits< T >::sup()
-# define ntg_max_print_width(T) ntg::type_traits<T>::max_print_width() +# define ntg_max_print_width(T) ntg::type_traits< T >::max_print_width()
-# define ntg_nb_comp(T) ntg::type_traits<T>::nb_comp +# define ntg_nb_comp(T) ntg::type_traits< T >::nb_comp
/*--------------------------. | operator traits accessors | `--------------------------*/
# define ntg_return_type(Op, T1, T2) \ - typename ntg::internal::deduce_from_traits<ntg::internal::operator_##Op, T1, T2>::ret + typename ntg::internal::deduce_from_traits<ntg::internal::operator_##Op , T1, T2
::ret
# define ntg_return_type_(Op, T1, T2) \ - ntg::internal::deduce_from_traits<ntg::internal::operator_##Op, T1, T2>::ret + ntg::internal::deduce_from_traits<ntg::internal::operator_##Op, T1, T2 >::ret
# define ntg_deduced_traits_type(Op, T1, T2) \ - typename ntg::internal::deduce_from_traits<ntg::internal::operator_##Op, T1, T2> + typename ntg::internal::deduce_from_traits<ntg::internal::operator_##Op, T1, T2 > # define ntg_deduced_traits_type_(Op, T1, T2) \ - ntg::internal::deduce_from_traits<ntg::internal::operator_##Op, T1, T2> + ntg::internal::deduce_from_traits<ntg::internal::operator_##Op, T1, T2 >
# define ntg_impl_type(Op, T1, T2) \ - typename ntg::internal::deduce_from_traits<ntg::internal::operator_##Op, T1, T2>::impl + typename ntg::internal::deduce_from_traits<ntg::internal::operator_##Op, T1, T2
::impl
# define ntg_impl_type_(Op, T1, T2) \ - ntg::internal::deduce_from_traits<ntg::internal::operator_##Op, T1, T2>::impl + ntg::internal::deduce_from_traits<ntg::internal::operator_##Op, T1, T2 >::impl
/*----------. | utilities | `----------*/
-# define ntg_name(T) ntg::type_traits<T>::name() +# define ntg_name(T) ntg::type_traits< T >::name()
// FIXME: reimplement when variadic macros will be allowed. # define ntg_build_value_type(Type) \ @@ -152,13 +152,13 @@ }
// FIXME: reimplement when variadic macros will be allowed. -# define ntg_get_value_type(T, E) ntg::type_traits<T>::build_value_type<E> +# define ntg_get_value_type(T, E) ntg::type_traits< T
::build_value_type<E >
/* ----. | Misc | `-----*/ -#define ntg_nbits(T) ntg::internal::typetraits<T>::size +#define ntg_nbits(T) ntg::internal::typetraits< T >::size
/*! Return the number of components of T if T is vectorial. @@ -192,7 +192,7 @@ ntg_is_a(A, ntg::non_vectorial)::ret, \ ntg_is_a(B, ntg::non_vectorial), \ mlc::eq<ntg_if_vectorial_nb_comp(A), \ - ntg_if_vectorial_nb_comp(B)> >::ret + ntg_if_vectorial_nb_comp(B) > >::ret
/*! Same as \a ntg_compare_nb_comp but without 'typename' ** @@ -203,6 +203,6 @@ ntg_is_a_(A, ntg::non_vectorial)::ret, \ ntg_is_a_(B, ntg::non_vectorial), \ mlc::eq<ntg_if_vectorial_nb_comp_(A), \ - ntg_if_vectorial_nb_comp_(B)> >::ret + ntg_if_vectorial_nb_comp_(B) > >::ret
#endif // !NTG_CORE_MACROS_HH Index: olena/oln/core/abstract/image.hh --- olena/oln/core/abstract/image.hh Mon, 12 Apr 2004 12:56:30 +0200 van-vl_n (oln/t/25_image.hh 1.31 600) +++ olena/oln/core/abstract/image.hh Tue, 13 Apr 2004 17:31:32 +0200 van-vl_n (oln/t/25_image.hh 1.32 640) @@ -341,7 +341,7 @@ mlc_exact_type_(ImgType)::value_type
# define oln_concrete_type(ImgType) \ -typename oln::mute<ImgType>::ret +typename oln::mute<ImgType >::ret
# define oln_exact_type(ImgType) \ mlc_exact_type(ImgType) Index: olena/oln/morpho/attributes.hh --- olena/oln/morpho/attributes.hh Wed, 31 Mar 2004 19:11:41 +0200 palma_g (oln/j/45_attributes 1.12 600) +++ olena/oln/morpho/attributes.hh Tue, 13 Apr 2004 17:31:32 +0200 van-vl_n (oln/j/45_attributes 1.13 644) @@ -33,13 +33,13 @@ # include <oln/morpho/environments.hh>
// attribute dedicated macros -# define attr_lambda_type(T) typename oln::morpho::attr::attr_traits<T>::lambda_type -# define attr_env_type(T) typename oln::morpho::attr::attr_traits<T>::env_type -# define attr_value_type(T) typename oln::morpho::attr::attr_traits<T>::value_type - -# define attr_lambda_type_(T) oln::morpho::attr::attr_traits<T>::lambda_type -# define attr_env_type_(T) oln::morpho::attr::attr_traits<T>::env_type -# define attr_value_type_(T) oln::morpho::attr::attr_traits<T>::value_type +# define attr_lambda_type(T) typename oln::morpho::attr::attr_traits< T
::lambda_type
+# define attr_env_type(T) typename oln::morpho::attr::attr_traits< T
::env_type
+# define attr_value_type(T) typename oln::morpho::attr::attr_traits< T
::value_type
+ +# define attr_lambda_type_(T) oln::morpho::attr::attr_traits< T
::lambda_type
+# define attr_env_type_(T) oln::morpho::attr::attr_traits< T >::env_type +# define attr_value_type_(T) oln::morpho::attr::attr_traits< T
::value_type
# define attr_type_decl(self_type) \ Index: olena/oln/topo/tarjan/tarjan.hh --- olena/oln/topo/tarjan/tarjan.hh Fri, 02 Apr 2004 16:53:54 +0200 palma_g (oln/m/47_tarjan.hh 1.2 600) +++ olena/oln/topo/tarjan/tarjan.hh Tue, 13 Apr 2004 17:31:32 +0200 van-vl_n (oln/m/47_tarjan.hh 1.3 644) @@ -30,9 +30,9 @@ # include <oln/basics.hh>
// Macros for extract information on tarjan algorithms. -# define oln_tarjan_input_type(T) typename oln::topo::tarjan::tarjan_traits<T>::input_type -# define oln_tarjan_output_type(T) typename oln::topo::tarjan::tarjan_traits<T>::output_type -# define oln_tarjan_attr_type(T) typename oln::topo::tarjan::tarjan_traits<T>::attr_type +# define oln_tarjan_input_type(T) typename oln::topo::tarjan::tarjan_traits<T >::input_type +# define oln_tarjan_output_type(T) typename oln::topo::tarjan::tarjan_traits<T >::output_type +# define oln_tarjan_attr_type(T) typename oln::topo::tarjan::tarjan_traits<T >::attr_type
// # define oln_tarjan_input_type(T) typename oln::topo::tarjan::tarjan_traits<mlc_exact_type(T)>::input_type
"Niels" == Niels Van Vliet niels@lrde.epita.fr writes:
Akim Demaille wrote:
Patch illisible ! À renvoyer !
J'ai ajouté un espace dans le macros utilisant un argument comme paramètre de template. De base, prdiff n'affiche pas les lignes où uniquement un espace est ajouté.
Index: olena/oln/arith/internal/opdecls.hh --- olena/oln/arith/internal/opdecls.hh Mon, 15 Mar 2004 17:40:54 +0100 van-vl_n (oln/b/22_opdecls.hh 1.18 600) +++ olena/oln/arith/internal/opdecls.hh Tue, 13 Apr 2004 17:31:32 +0200 van-vl_n (oln/b/22_opdecls.hh 1.19 640) @@ -69,7 +69,7 @@ \ template <class T1, class T2 = T1> \ struct default_f_##OPNAME \
: public f_##OPNAME< T1, T2, ntg_return_type(OPNAME, T1, T2) > \
: public f_##OPNAME< T1, T2, ntg_return_type(OPNAME, T1, T2)> \ {} /* no ; */
Ton patch est à l'envers, mais on comprend. Merci !