Thunderbots Project
Loading...
Searching...
No Matches
timestamp.h
1#pragma once
2
3#include <iostream>
4
5#include "proto/tbots_timestamp_msg.pb.h"
6#include "software/time/duration.h"
7#include "software/time/time.h"
8
20class Timestamp : public Time
21{
22 public:
26 Timestamp();
27
34 static const Timestamp fromSeconds(double seconds);
35
43 static const Timestamp fromMilliseconds(double milliseconds);
44
54 static const Timestamp fromTimestampProto(
55 const TbotsProto::Timestamp& timestamp_proto);
56
64 bool operator==(const Timestamp& other) const;
65
72 bool operator!=(const Timestamp& other) const;
73
82 bool operator<(const Timestamp& other) const;
83
92 bool operator<=(const Timestamp& other) const;
93
102 bool operator>(const Timestamp& other) const;
103
112 bool operator>=(const Timestamp& other) const;
113
121 Timestamp operator+(const Duration& duration) const;
122
130 Timestamp operator-(const Duration& duration) const;
131
139 Duration operator-(const Timestamp& timestamp) const;
140
149 friend std::ostream& operator<<(std::ostream& output_stream, const Timestamp& time);
150
151 private:
158 explicit Timestamp(double timestamp_seconds);
159};
Definition duration.h:12
Definition time.h:11
Definition timestamp.h:21
Timestamp operator+(const Duration &duration) const
Definition timestamp.cpp:34
bool operator<=(const Timestamp &other) const
Definition timestamp.cpp:64
Timestamp()
Definition timestamp.cpp:7
friend std::ostream & operator<<(std::ostream &output_stream, const Timestamp &time)
Definition timestamp.cpp:79
bool operator<(const Timestamp &other) const
Definition timestamp.cpp:49
Timestamp operator-(const Duration &duration) const
Definition timestamp.cpp:69
bool operator==(const Timestamp &other) const
Definition timestamp.cpp:39
bool operator>=(const Timestamp &other) const
Definition timestamp.cpp:54
static const Timestamp fromTimestampProto(const TbotsProto::Timestamp &timestamp_proto)
Definition timestamp.cpp:28
bool operator!=(const Timestamp &other) const
Definition timestamp.cpp:44
static const Timestamp fromSeconds(double seconds)
Definition timestamp.cpp:18
bool operator>(const Timestamp &other) const
Definition timestamp.cpp:59
static const Timestamp fromMilliseconds(double milliseconds)
Definition timestamp.cpp:23