Index: src/libcfa/time
===================================================================
--- src/libcfa/time	(revision 0f5605831af289410e02930b6965262873df0fc9)
+++ src/libcfa/time	(revision 10a97adb78ace9015521af17d66f1782aca51583)
@@ -10,6 +10,6 @@
 // Created On       : Wed Mar 14 23:18:57 2018
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Tue Apr 10 17:25:34 2018
-// Update Count     : 622
+// Last Modified On : Thu Apr 12 16:53:35 2018
+// Update Count     : 629
 // 
 
@@ -23,9 +23,8 @@
 #include <sys/time.h>									// timeval
 }
-#include <iostream>										// istype/ostype
+#include <time_t.h>										// Duration/Time types
 
 enum { TIMEGRAN = 1_000_000_000LL };					// nanosecond granularity, except for timeval
 
-#include <time_t.h>										// Duration (constructors) / Time (constructors)
 
 //######################### Duration #########################
@@ -68,6 +67,4 @@
 
 static inline Duration abs( Duration rhs ) { return rhs.tv >= 0 ? rhs : -rhs; }
-
-forall( dtype ostype | ostream( ostype ) ) ostype & ?|?( ostype & os, Duration dur );
 
 static inline Duration ?`ns( int64_t nsec ) { return (Duration)@{ nsec }; }
@@ -136,14 +133,4 @@
 
 
-//######################### C time #########################
-
-static inline char * ctime( time_t tp ) { char * buf = ctime( &tp ); buf[24] = '\0'; return buf; }
-static inline char * ctime_r( time_t tp, char * buf ) { ctime_r( &tp, buf ); buf[24] = '\0'; return buf; }
-static inline tm * gmtime( time_t tp ) { return gmtime( &tp ); }
-static inline tm * gmtime_r( time_t tp, tm * result ) { return gmtime_r( &tp, result ); }
-static inline tm * localtime( time_t tp ) { return localtime( &tp ); }
-static inline tm * localtime_r( time_t tp, tm * result ) { return localtime_r( &tp, result ); }
-
-
 //######################### Time #########################
 
@@ -199,6 +186,4 @@
 size_t strftime( char * buf, size_t size, const char * fmt, Time time );
 
-forall( dtype ostype | ostream( ostype ) ) ostype & ?|?( ostype & os, Time time );
-
 //------------------------- timeval (cont) -------------------------
 
@@ -215,61 +200,4 @@
 } // ?{}
 
-
-//######################### Clock #########################
-
-struct Clock {											// private
-	Duration offset;									// for virtual clock: contains offset from real-time
-	int clocktype;										// implementation only -1 (virtual), CLOCK_REALTIME
-};
-
-static inline void resetClock( Clock & clk ) with( clk ) {
-	clocktype = CLOCK_REALTIME_COARSE;
-} // Clock::resetClock
-
-static inline void resetClock( Clock & clk, Duration adj ) with( clk ) {
-	clocktype = -1;
-	offset = adj + timezone`s;							// timezone (global) is (UTC - local time) in seconds
-} // resetClock
-
-static inline void ?{}( Clock & clk ) { resetClock( clk ); }
-static inline void ?{}( Clock & clk, Duration adj ) { resetClock( clk, adj ); }
-
-static inline Duration getRes() {
-	struct timespec res;
-	clock_getres( CLOCK_REALTIME_COARSE, &res );
-	return ((int64_t)res.tv_sec * TIMEGRAN + res.tv_nsec)`ns;
-} // getRes
-
-static inline Time getTimeNsec() {						// with nanoseconds
-	timespec curr;
-	clock_gettime( CLOCK_REALTIME_COARSE, &curr );
-	return (Time){ curr };
-} // getTime
-
-static inline Time getTime() {							// without nanoseconds
-	timespec curr;
-	clock_gettime( CLOCK_REALTIME_COARSE, &curr );
-	curr.tv_nsec = 0;
-	return (Time){ curr };
-} // getTime
-
-static inline Time getTime( Clock & clk ) with( clk ) {
-	return getTime() + offset;
-} // getTime
-
-static inline Time ?()( Clock & clk ) with( clk ) {		// alternative syntax
-	return getTime() + offset;
-} // getTime
-
-static inline timeval getTime( Clock & clk ) {
-	return (timeval){ clk() };
-} // getTime
-
-static inline tm getTime( Clock & clk ) with( clk ) {
-	tm ret;
-	localtime_r( getTime( clk ).tv_sec, &ret );
-	return ret;
-} // getTime
-
 // Local Variables: //
 // mode: c //
