에 부스트 / MPL / assert.hpp , 나는 이런 식으로 뭔가를 보았다 :
template<class Pred>
struct eval_assert {
typedef typename extract_assert_pred<Pred>::type P;
typedef typename P::type p_type;
typedef typename ::boost::mpl::if_c<p_type::value,
AUX778076_ASSERT_ARG(assert<false>),
failed ************ P::************
>::type type;
};
첫 번째 ************
가 struct의 포인터가 실패한 것으로 처리 될 수 있다면 P::************
실제로는 나에게 의미가 없습니다. 이 표준 C ++입니까?