you can define time as boost::uint32_t and not use static_cast