- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
typedef struct IS_THIS_AN_ARRAY_OR_A_NULL_TERMINATED_STRING344 : boost::mpl::assert_ {
static boost::mpl::failed ************ (IS_THIS_AN_ARRAY_OR_A_NULL_TERMINATED_STRING::************ assert_arg()) (T&) {
return 0;
}
} mpl_assert_arg344;
typedef struct IS_THIS_AN_ARRAY_OR_A_NULL_TERMINATED_STRING375 : boost::mpl::assert_ {
static boost::mpl::failed ************ (IS_THIS_AN_ARRAY_OR_A_NULL_TERMINATED_STRING::************ assert_arg()) (T&) {
return 0;
}
} mpl_assert_arg375;
template< typename Pred >
failed ************ (Pred::************
assert_arg(void (*)(Pred), typename assert_arg_pred<Pred>::type)
);
template< typename Pred >
failed ************ (boost::mpl::not_<Pred>::************
assert_not_arg(void (*)(Pred), typename assert_arg_pred_not<Pred>::type)
);
В том что boost'овские библиотеки достаточно хорошо оптимизированы я не сомневаюсь, но от некоторых конструкций я просто охреневаю...
absolut 08.09.2010 20:22 # +1
Lexey 09.09.2010 20:05 # 0
BOOST_MPL_ASSERT_MSG( (!is_char_array<T>::value), IS_THIS_AN_ARRAY_OR_A_NULL_TERMINATED_ST RING, (T&) );
из foreach.hpp
На каждое использование BOOST_FOREACH будет отдельный инстанс ассерта.
Анонимус 08.09.2010 20:32 # +4
А раз так -- то не ГК.
rudvil 08.09.2010 21:56 # +2
xXx_totalwar 09.09.2010 10:09 # +1
как и предыдущие =)
AxisPod 09.09.2010 06:48 # 0
hdkeeper 09.09.2010 09:23 # +2
xXx_totalwar 09.09.2010 10:08 # +2
Степанов: "Не читайте Александреску. Читайте Евклида. Не думайте, что синтаксис может решить проблемы семантики. Чтобы вы ни делали, думайте о великом."
istem 09.09.2010 09:41 # 0