replaced BOOST_STATIC_ASSERT with C++ static_assert