refactor: add explicit type conversion

This commit is contained in:
ToruNiina
2019-06-21 00:25:21 +09:00
parent 3b71f80652
commit ecf55f86d6
4 changed files with 15 additions and 14 deletions

View File

@@ -188,22 +188,22 @@ struct local_time
explicit local_time(const std::chrono::duration<Rep, Period>& t) explicit local_time(const std::chrono::duration<Rep, Period>& t)
{ {
const auto h = std::chrono::duration_cast<std::chrono::hours>(t); const auto h = std::chrono::duration_cast<std::chrono::hours>(t);
this->hour = h.count(); this->hour = static_cast<std::uint8_t>(h.count());
const auto t2 = t - h; const auto t2 = t - h;
const auto m = std::chrono::duration_cast<std::chrono::minutes>(t2); const auto m = std::chrono::duration_cast<std::chrono::minutes>(t2);
this->minute = m.count(); this->minute = static_cast<std::uint8_t>(m.count());
const auto t3 = t2 - m; const auto t3 = t2 - m;
const auto s = std::chrono::duration_cast<std::chrono::seconds>(t3); const auto s = std::chrono::duration_cast<std::chrono::seconds>(t3);
this->second = s.count(); this->second = static_cast<std::uint8_t>(s.count());
const auto t4 = t3 - s; const auto t4 = t3 - s;
const auto ms = std::chrono::duration_cast<std::chrono::milliseconds>(t4); const auto ms = std::chrono::duration_cast<std::chrono::milliseconds>(t4);
this->millisecond = ms.count(); this->millisecond = static_cast<std::uint16_t>(ms.count());
const auto t5 = t4 - ms; const auto t5 = t4 - ms;
const auto us = std::chrono::duration_cast<std::chrono::microseconds>(t5); const auto us = std::chrono::duration_cast<std::chrono::microseconds>(t5);
this->microsecond = us.count(); this->microsecond = static_cast<std::uint16_t>(us.count());
const auto t6 = t5 - us; const auto t6 = t5 - us;
const auto ns = std::chrono::duration_cast<std::chrono::nanoseconds>(t6); const auto ns = std::chrono::duration_cast<std::chrono::nanoseconds>(t6);
this->nanosecond = ns.count(); this->nanosecond = static_cast<std::uint16_t>(ns.count());
} }
operator std::chrono::nanoseconds() const operator std::chrono::nanoseconds() const

View File

@@ -424,13 +424,14 @@ inline std::string format_underline(const std::string& message,
{ {
assert(!reg_com.empty()); assert(!reg_com.empty());
const auto line_num_width = std::max_element(reg_com.begin(), reg_com.end(), const auto line_num_width = static_cast<int>(std::max_element(
reg_com.begin(), reg_com.end(),
[](std::pair<region_base const*, std::string> const& lhs, [](std::pair<region_base const*, std::string> const& lhs,
std::pair<region_base const*, std::string> const& rhs) std::pair<region_base const*, std::string> const& rhs)
{ {
return lhs.first->line_num().size() < rhs.first->line_num().size(); return lhs.first->line_num().size() < rhs.first->line_num().size();
} }
)->first->line_num().size(); )->first->line_num().size());
std::ostringstream retval; std::ostringstream retval;
retval << message << '\n'; retval << message << '\n';
@@ -453,7 +454,7 @@ inline std::string format_underline(const std::string& message,
retval << ' ' << std::setw(line_num_width) << reg->line_num(); retval << ' ' << std::setw(line_num_width) << reg->line_num();
retval << " | " << reg->line() << '\n'; retval << " | " << reg->line() << '\n';
retval << make_string(line_num_width + 1, ' '); retval << make_string(static_cast<std::size_t>(line_num_width + 1), ' ');
retval << " | " << make_string(reg->before(), ' '); retval << " | " << make_string(reg->before(), ' ');
if(reg->size() == 1) if(reg->size() == 1)
@@ -477,7 +478,7 @@ inline std::string format_underline(const std::string& message,
if(!helps.empty()) if(!helps.empty())
{ {
retval << '\n'; retval << '\n';
retval << make_string(line_num_width + 1, ' '); retval << make_string(static_cast<std::size_t>(line_num_width + 1), ' ');
retval << " | "; retval << " | ";
for(const auto help : helps) for(const auto help : helps)
{ {

View File

@@ -652,7 +652,7 @@ operator<<(std::basic_ostream<charT, traits>& os, const basic_value<C, M, V>& v)
{ {
// get status of std::setw(). // get status of std::setw().
const auto w = static_cast<std::size_t>(os.width()); const auto w = static_cast<std::size_t>(os.width());
const int fprec = os.precision(); const int fprec = static_cast<int>(os.precision());
os.width(0); os.width(0);
if(!v.comments().empty()) if(!v.comments().empty())

View File

@@ -48,9 +48,9 @@ struct source_location
{ {
if(reg) if(reg)
{ {
line_num_ = std::stoul(reg->line_num()); line_num_ = static_cast<std::uint_least32_t>(std::stoul(reg->line_num()));
column_num_ = reg->before() + 1; column_num_ = static_cast<std::uint_least32_t>(reg->before() + 1);
region_size_ = reg->size(); region_size_ = static_cast<std::uint_least32_t>(reg->size());
file_name_ = reg->name(); file_name_ = reg->name();
line_str_ = reg->line(); line_str_ = reg->line();
} }