Many years ago, time was an int. Sure we worried about the year 2037 problem, but, that is ~60 years away. Data structures were simple:
struct {
int first_sent;
int last_sent;
}
Later we invented the typedef, and people added ‘time_t’. Its still an int, but now it takes me 6 letters to write it. O well, progress. Its a bit less efficient, but we all know its for time when doing math and stuff.
Fast forward to today. C++14 adds new time-native things. And here is a single time value (yes a single one), as printed from the debugger on something I am working on. Its one of the 2 lines in that struct above. Yes, we’ve indeed gone from ‘int’ to ‘time_t’ to war and peace.
first_upstream_tx_byte_sent_ = {
<absl::optional_internal::optional_data<std::chrono::time_point<std::chrono::_V2::steady_clock, std::chrono::duration<long, std::ratio<1, 1000000000> > >, true>> = {
<absl::optional_internal::optional_data_base<std::chrono::time_point<std::chrono::_V2::steady_clock, std::chrono::duration<long, std::ratio<1, 1000000000> > > >> = {
<absl::optional_internal::optional_data_dtor_base<std::chrono::time_point<std::chrono::_V2::steady_clock, std::chrono::duration<long, std::ratio<1, 1000000000> > >, true>> = {
engaged_ = false,
{
dummy_ = {
data = {{}, {}, {}, {}, {}, {}, {}, {}}
},
data_ = {
__d = {
__r = 0
}
}
}
}, }, },
Progress? Get off my lawn!


Leave a Reply