namespace CCL::Format

namespace Format {

// classes

class Bipolar;
class ByteSize;
class BytesPerSecond;
class DateTime;

template <class T>
class DateTimeVariant;

class Duration;
class Float;
class FourCharID;
class ISODateTime;
class Int;
class Linear;
class Normalized;
class Offset;
class Percent;
class PercentFloat;
class PercentInt;
class PortableDateTime;
class SIByteSize;
class SIBytesPerSecond;
class StringList;
class TimeAgo;
class TimeAhead;

// global variables

const CStringPtr kDuration = "System.Duration";
const CStringPtr kByteSize = "System.ByteSize";
const CStringPtr kSIByteSize = "System.SIByteSize";
const CStringPtr kBytesPerSecond = "System.BytesPerSecond";
const CStringPtr kSIBytesPerSecond = "System.SIBytesPerSecond";
const CStringPtr kPercent = "System.Percent";
const CStringPtr kPercentFloat = "System.PercentFloat";
const CStringPtr kPercentInt = "System.PercentInt";
const CStringPtr kInt = "System.Int";
const CStringPtr kFloat = "System.Float";
const CStringPtr kDateTime = "System.DateTime";
const CStringPtr kPortableDateTime = "System.PortableDateTime";
const CStringPtr kISODateTime = "System.ISODateTime";
const CStringPtr kTimeAgo = "System.TimeAgo";
const CStringPtr kTimeAhead = "System.TimeAhead";
const CStringPtr kOffset1 = "System.PlusOne";

} // namespace Format