23 Clock(
const std::string& msg_ = std::string())
24 : startTime(std::chrono::system_clock::now()),
31 startTime = std::chrono::system_clock::now();
37 endTime = std::chrono::system_clock::now();
40 std::string message()
const {
46 std::clog << *
this << std::endl;
49 friend std::ostream&
operator<<(std::ostream& stream,
const Clock& clock) {
50 if (!clock.msg.empty())
51 stream << clock.msg <<
": ";
53 stream << clock.num_seconds() <<
"s\n";
60 double num_seconds()
const {
62 auto end = std::chrono::system_clock::now();
63 return std::chrono::duration_cast<std::chrono::milliseconds>(end-startTime).count() / 1000.;
65 return std::chrono::duration_cast<std::chrono::milliseconds>(endTime-startTime).count() / 1000.;
70 mutable std::chrono::time_point<std::chrono::system_clock> startTime, endTime;
71 mutable bool end_called;
std::ostream & operator<<(std::ostream &os, const Permutahedral_representation< Vertex, OrderedSetPartition > &simplex)
Print a permutahedral representation to a stream.
Definition: Permutahedral_representation.h:173