summaryrefslogtreecommitdiff
path: root/src/util.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2014-02-12 23:25:57 +0000
committerCarl Hetherington <cth@carlh.net>2014-02-12 23:25:57 +0000
commite8c4fd0e0581849fcf41d918e79b00b84fe24d70 (patch)
tree0e087c053238118dc89ff49a0fb6dff838a6ad8a /src/util.cc
parent6161444eab9e0c22c4a42a1b254745b8bee82b50 (diff)
Various small fixes.
Diffstat (limited to 'src/util.cc')
-rw-r--r--src/util.cc19
1 files changed, 14 insertions, 5 deletions
diff --git a/src/util.cc b/src/util.cc
index 4be026d2..1e32fbc9 100644
--- a/src/util.cc
+++ b/src/util.cc
@@ -54,7 +54,10 @@ using std::max;
using std::list;
using std::setw;
using std::setfill;
+using std::ostream;
using boost::shared_ptr;
+using boost::optional;
+using boost::function;
using namespace dcp;
/** Create a UUID.
@@ -73,12 +76,12 @@ dcp::make_uuid ()
/** Create a digest for a file.
* @param filename File name.
- * @param progress Pointer to a progress reporting function, or 0. The function will be called
+ * @param progress Optional progress reporting function. The function will be called
* with a progress value between 0 and 1.
* @return Digest.
*/
string
-dcp::make_digest (boost::filesystem::path filename, boost::function<void (float)>* progress)
+dcp::make_digest (boost::filesystem::path filename, function<void (float)> progress)
{
Kumu::FileReader reader;
Kumu::Result_t r = reader.OpenRead (filename.string().c_str ());
@@ -107,7 +110,7 @@ dcp::make_digest (boost::filesystem::path filename, boost::function<void (float)
SHA1_Update (&sha, read_buffer.Data(), read);
if (progress) {
- (*progress) (float (done) / size);
+ progress (float (done) / size);
done += read;
}
}
@@ -271,6 +274,12 @@ bool dcp::operator!= (dcp::Size const & a, dcp::Size const & b)
return !(a == b);
}
+ostream& dcp::operator<< (ostream& s, dcp::Size const & a)
+{
+ s << a.width << "x" << a.height;
+ return s;
+}
+
/** Decode a base64 string. The base64 decode routine in KM_util.cpp
* gives different values to both this and the command-line base64
* for some inputs. Not sure why.
@@ -385,7 +394,7 @@ dcp::fopen_boost (boost::filesystem::path p, string t)
#endif
}
-boost::optional<boost::filesystem::path>
+optional<boost::filesystem::path>
dcp::relative_to_root (boost::filesystem::path root, boost::filesystem::path file)
{
boost::filesystem::path::const_iterator i = root.begin ();
@@ -397,7 +406,7 @@ dcp::relative_to_root (boost::filesystem::path root, boost::filesystem::path fil
}
if (i != root.end ()) {
- return boost::optional<boost::filesystem::path> ();
+ return optional<boost::filesystem::path> ();
}
boost::filesystem::path rel;