2019-11-04 18:02:48 +01:00
|
|
|
|
#ifndef RANGECHECKED_CAST_H
|
|
|
|
|
|
#define RANGECHECKED_CAST_H
|
|
|
|
|
|
|
|
|
|
|
|
#include <boost/assert.hpp>
|
|
|
|
|
|
#include <limits>
|
|
|
|
|
|
|
|
|
|
|
|
template <typename To, typename From>
|
|
|
|
|
|
To rangechecked_cast(From f)
|
|
|
|
|
|
{
|
2019-11-25 20:08:19 +01:00
|
|
|
|
// BOOST_ASSERT(f >= std::numeric_limits<To>::lowest());
|
|
|
|
|
|
// BOOST_ASSERT(f <= std::numeric_limits<To>::max());
|
2019-11-04 18:02:48 +01:00
|
|
|
|
return static_cast<To>(f);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
#endif // RANGECHECKED_CAST_H
|