% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/00_classes.R
\name{mt_time-class}
\alias{mt_time-class}
\alias{mt_time}
\alias{mt_linear}
\alias{mt_duration}
\alias{mt_cyclical}
\title{Time vector classes}
\usage{
mt_linear(.data = integer(), chronon = mt_unit(1L))

mt_duration(.data = integer(), chronon = mt_unit(1L))

mt_cyclical(.data = integer(), chronon = mt_unit(1L), cycle = mt_unit(1L))
}
\arguments{
\item{.data}{A numeric vector of chronon counts (integer or double).}

\item{chronon, cycle}{Time granules (\link{mt_unit} objects) giving the unit of the
chronon counts and, for \code{mt_cyclical}, the length of the cycle.}
}
\value{
An S7 class object (used for method dispatch), or a time vector when
called as a constructor.
}
\description{
The \code{mt_time} family are the S7 vector classes that store time points as a
numeric count of chronons. \code{mt_time} is the (internal) base class carrying
the \code{chronon} property; the common modes of time are:
\itemize{
\item \code{mt_linear} - linear time points, typically produced with \code{\link[=linear_time]{linear_time()}}.
\item \code{mt_cyclical} - cyclical time points with additional \code{cycle} granule,
typically produced with \code{\link[=cyclical_time]{cyclical_time()}}.
\item \code{mt_duration} - time durations, typically produced with \code{\link[=duration]{duration()}}.
}

The underlying data can be either \strong{integer} (discrete time) or \strong{double}
(continuous time). The \code{chronon} (and, for \code{mt_cyclical}, the \code{cycle}) are
time granules, the result from a \link{mt_unit} object.
}
\seealso{
\code{\link[=mt_linear]{mt_linear()}}, \code{\link[=mt_duration]{mt_duration()}}, and \code{\link[=mt_cyclical]{mt_cyclical()}} to construct
time vectors, and \link{mt_unit} for the granule type stored in \code{chronon}/\code{cycle}.
}
