summaryrefslogtreecommitdiff
path: root/src/time_pair.h
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2014-05-29 14:20:17 +0100
committerCarl Hetherington <cth@carlh.net>2014-05-29 14:20:17 +0100
commitf6fb2090f4180f8cd507d694f7eb663b3f25d2f0 (patch)
tree0df38a2b6377f12c3760197c7a107984e1e3407f /src/time_pair.h
parentaebf2cb7812c8f593b85182611b587e6014aefc6 (diff)
Separate out STL binary tables so that writer can use them; start of writer.
Diffstat (limited to 'src/time_pair.h')
-rw-r--r--src/time_pair.h57
1 files changed, 57 insertions, 0 deletions
diff --git a/src/time_pair.h b/src/time_pair.h
new file mode 100644
index 0000000..0ed039d
--- /dev/null
+++ b/src/time_pair.h
@@ -0,0 +1,57 @@
+/*
+ Copyright (C) 2014 Carl Hetherington <cth@carlh.net>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
+#include "frame_time.h"
+#include "metric_time.h"
+#include <boost/optional.hpp>
+
+namespace sub {
+
+class TimePair
+{
+public:
+ void set_frame (FrameTime t) {
+ _frame = t;
+ _metric = boost::optional<MetricTime> ();
+ }
+
+ void set_metric (MetricTime t) {
+ _metric = t;
+ _frame = boost::optional<FrameTime> ();
+ }
+
+ boost::optional<FrameTime> frame () const {
+ return _frame;
+ }
+
+ boost::optional<MetricTime> metric () const {
+ return _metric;
+ }
+
+ FrameTime frame (float frames_per_second) const;
+ MetricTime metric (float frames_per_second) const;
+
+ bool operator== (TimePair const & other) const;
+
+private:
+ boost::optional<FrameTime> _frame;
+ boost::optional<MetricTime> _metric;
+};
+
+}