>>581
boostのtype_traitsのis_base_ofとBOOST_STATIC_ASSERTを組み合わせればいい。