#ifndef INCLUDED_BOBCAT_FILECLOCK_
#define INCLUDED_BOBCAT_FILECLOCK_

#include <bobcat/clockbase>

namespace FBB
{

struct FileClock: public ClockBase<std::chrono::file_clock>
{
    using ChronoClock = std::chrono::file_clock;

    FileClock(TimePoint const &timePoint = now());

    template <typename ClockTp>
    FileClock(ClockBase<ClockTp> const &clock);
};

inline FileClock::FileClock(TimePoint const &timePoint)
:
    ClockBase<ChronoClock>(timePoint)
{}

template <typename ClockTp>
inline FileClock::FileClock(ClockBase<ClockTp> const &clock)
:
    ClockBase<ChronoClock>(toClock<FileClock>(clock))
{}

} // FBB        
#endif
