%% Created: 07.03.00
%% RCS-ID: $Id$
%% Copyright: (c) Vadim Zeitlin
-%% Licence: wxWindows licence
+%% License: wxWindows license
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{\class{wxLongLong}}\label{wxlonglong}
working with 64 bit integers independently of the architecture.
wxLongLong defines all usual arithmetic operations such as addition,
-substraction, bitwise shifts and logical operations as well as multiplication
+subtraction, bitwise shifts and logical operations as well as multiplication
and division (not yet for the machines without native {\it long long}). It
also has operators for implicit construction from and conversion to the native
{\it long long} type if it exists and {\it long}.
You would usually use this type in exactly the same manner as any other
-(built-in) arithmetic type. Note that wxLongLong is a signed type.
+(built-in) arithmetic type. Note that wxLongLong is a signed type, if you
+want unsigned values use wxULongLong which has exactly the same API as
+wxLongLong except when explicitly mentioned otherwise.
If a native (i.e. supported directly by the compiler) 64 bit integer type was
-found a typedef {\it wxLongLong\_t} will be defined to correspond it.
+found to exist, {\it wxLongLong\_t} macro will be defined to correspond to it.
+Also, in this case only, two additional macros will be defined:
+\helpref{wxLongLongFmtSpec}{wxlonglongfmtspec} for printing 64 bit integers
+using the standard {\tt printf()} function (but see also
+\helpref{ToString()}{wxlonglongtostring} for a more portable solution) and
+\helpref{wxLL}{wxll} for defining 64 bit integer compile-time constants.
\wxheading{Derived from}
\latexignore{\rtfignore{\wxheading{Members}}}
+
\membersection{wxLongLong::wxLongLong}\label{wxlonglongwxlonglongdef}
\func{}{wxLongLong}{\void}
Default constructor initializes the object to 0.
+
\membersection{wxLongLong::wxLongLong}\label{wxlonglongwxlonglongll}
\func{}{wxLongLong}{\param{wxLongLong\_t }{ll}}
Constructor from native long long (only for compilers supporting it).
+
\membersection{wxLongLong::wxLongLong}\label{wxlonglongwxlonglong}
\func{}{wxLongLong}{\param{long }{hi}, \param{unsigned long }{lo}}
Constructor from 2 longs: the high and low part are combined into one
wxLongLong.
+
\membersection{wxLongLong::operator=}\label{wxlonglongoperatorassign}
\func{wxLongLong\& operator}{operator=}{\param{wxLongLong\_t }{ll}}
Assignment operator from native long long (only for compilers supporting it).
+
+\membersection{wxLongLong::operator=}\label{wxlonglongoperatorassignull}
+
+\func{wxLongLong\& operator}{operator=}{\param{wxULongLong\_t }{ll}}
+
+Assignment operator from native unsigned long long (only for compilers
+supporting it).
+
+\newsince{2.7.0}
+
+\membersection{wxLongLong::operator=}\label{wxlonglongoperatorassignlong}
+
+\func{wxLongLong\& operator}{operator=}{\param{long }{l}}
+
+Assignment operator from long.
+
+\newsince{2.7.0}
+
+\membersection{wxLongLong::operator=}\label{wxlonglongoperatorassignulong}
+
+\func{wxLongLong\& operator}{operator=}{\param{unsigned long }{l}}
+
+Assignment operator from unsigned long.
+
+\newsince{2.7.0}
+
+\membersection{wxLongLong::operator=}\label{wxlonglongoperatorassignulonglong}
+
+\func{wxLongLong\& operator}{operator=}{\param{const wxULongLong \& }{ll}}
+
+Assignment operator from unsigned long long. The sign bit will be copied too.
+
+\newsince{2.7.0}
+
\membersection{wxLongLong::Abs}\label{wxlonglongabs}
\constfunc{wxLongLong}{Abs}{\void}
\func{wxLongLong\&}{Abs}{\void}
Returns an absolute value of wxLongLong - either making a copy (const version)
-or modifying it in place (the second one).
+or modifying it in place (the second one). Not in wxULongLong.
+
\membersection{wxLongLong::Assign}\label{wxlonglongassign}
This allows to convert a double value to wxLongLong type. Such conversion is
not always possible in which case the result will be silently truncated in a
-platform-dependent way.
+platform-dependent way. Not in wxULongLong.
+
\membersection{wxLongLong::GetHi}\label{wxlonglonggethi}
\constfunc{long}{GetHi}{\void}
-Returnes the high 32 bits of 64 bit integer.
+Returns the high 32 bits of 64 bit integer.
+
\membersection{wxLongLong::GetLo}\label{wxlonglonggetlo}
\constfunc{unsigned long}{GetLo}{\void}
-Returnes the low 32 bits of 64 bit integer.
+Returns the low 32 bits of 64 bit integer.
+
\membersection{wxLongLong::GetValue}\label{wxlonglonggetvalue}
Convert to native long long (only for compilers supporting it)
+
+\membersection{wxLongLong::ToDouble}\label{wxlonglonggetdouble}
+
+\constfunc{double}{ToDouble}{\void}
+
+Returns the value as \texttt{double}.
+
+
\membersection{wxLongLong::ToLong}\label{wxlonglongtolong}
\constfunc{long}{ToLong}{\void}
value is outside the range of built-in long type), an assert will be triggered
in debug mode.
+
+\membersection{wxLongLong::ToString}\label{wxlonglongtostring}
+
+\constfunc{wxString}{ToString}{\void}
+
+Returns the string representation of a wxLongLong.
+
+
\membersection{wxLongLong::operator$+$}\label{wxlonglongoperatorplus}
\constfunc{wxLongLong}{operator$+$}{\param{const wxLongLong\& }{ll}}
Adds 2 wxLongLongs together and returns the result.
+
\membersection{wxLongLong::operator$+=$}\label{wxlonglongoperatorplusassign}
\func{wxLongLong\&}{operator+}{\param{const wxLongLong\& }{ll}}
Add another wxLongLong to this one.
+
\membersection{wxLongLong::operator$++$}\label{wxlonglongoperatorinc}
\func{wxLongLong\&}{operator$++$}{\void}
Pre/post increment operator.
+
\membersection{wxLongLong::operator$-$}\label{wxlonglongoperatorunaryminus}
\constfunc{wxLongLong}{operator$-$}{\void}
-Returns the value of this wxLongLong with opposite sign.
+Returns the value of this wxLongLong with opposite sign. Not in wxULongLong.
+
\membersection{wxLongLong::operator$-$}\label{wxlonglongoperatorminus}
\constfunc{wxLongLong}{operator$-$}{\param{const wxLongLong\& }{ll}}
-Substracts 2 wxLongLongs and returns the result.
+Subtracts 2 wxLongLongs and returns the result.
+
\membersection{wxLongLong::operator$-=$}\label{wxlonglongoperatorminusassign}
\func{wxLongLong\&}{operator-}{\param{const wxLongLong\& }{ll}}
-Substracts another wxLongLong from this one.
+Subtracts another wxLongLong from this one.
+
\membersection{wxLongLong::operator$--$}\label{wxlonglongoperatordec}
Pre/post decrement operator.
-% TODO document all other arithmetics operations: shitfs, multiplication,
+% TODO document all other arithmetics operations: shifts, multiplication,
% division, bitwise, comparison
+