Core C++ classes and templates
The Harlinn.Common.Core library has its own set of core C++ classes and templates that are used throughout the library.
BasicString
BasicString
is a template class implementing a reference counted C++ string type.
The API is similar to the API exposed by std::basic_string
, and it’s used throughout
the Harlinn.Common.Core library
as a container for sequences of the char
or wchar_t
character types. more…
Binary
Binary
is a reference counted Byte
buffer.
The primary use case is to be able to pass incoming data to multiple threads for processing, or for using multiple threads to dispatch a block of data to multiple destinations. more…
Currency
A Currency
object wraps a 64-bit integer,
scaled by 10,000 to give a fixed-point number with 15 digits to the left of the decimal point and 4 digits
to the right.
This representation provides a range of -922,337,203,685,477.5808
to 922,337,203,685,477.5807
.
The Currency type is useful for calculations involving money and for fixed-point calculations in which accuracy is important.
DateTime
Represents an instant in time, in UTC.
The DateTime
class
represents dates and times with values ranging from 00:00:00
(midnight), January 1, 0001 Anno Domini (Common Era) through 23:59:59
,
December 31, 9999
A.D. (C.E.) in the Gregorian calendar.
Time values are measured in 100-nanosecond units called ticks. A particular date
is the number of ticks since 12:00
midnight, January 1, 0001 A.D. (C.E.) in
the Gregorian calendar. The number excludes ticks that would be added by leap
seconds. For example, a ticks value of 31241376000000000L represents the date
Friday, January 01, 0100 12:00:00
midnight.
Guid
A Guid
is a 128-bit value
that can be used across all computers and networks wherever a unique identifier is required.
Such an identifier has a very low probability of being duplicated.
TimeSpan
A TimeSpan
object
represents a time interval measured as a positive or negative number of days, hours,
minutes, seconds, and fractions of a second.
The value of a TimeSpan object is the number of ticks that equal the represented time interval. A tick is equal to 100 nanoseconds, or one ten-millionth of a second.