/////////////////////////////////////////////////////////////////////////////
// Name: longlong.h
-// Purpose: documentation for wxLongLong class
+// Purpose: interface of wxLongLong
// Author: wxWidgets team
// RCS-ID: $Id$
// Licence: wxWindows license
If a native (i.e. supported directly by the compiler) 64 bit integer type was
found to exist, @e wxLongLong_t macro will be defined to correspond to it.
Also, in this case only, two additional macros will be defined:
- wxLongLongFmtSpec for printing 64 bit integers
+ wxLongLongFmtSpec() for printing 64 bit integers
using the standard @c printf() function (but see also
wxLongLong::ToString for a more portable solution) and
- wxLL for defining 64 bit integer compile-time constants.
+ wxLL() for defining 64 bit integer compile-time constants.
@library{wxbase}
@category{data}
or modifying it in place (the second one). Not in wxULongLong.
*/
wxLongLong Abs();
- wxLongLong Abs();
+ const wxLongLong& Abs();
//@}
/**
/**
Returns the high 32 bits of 64 bit integer.
*/
- long GetHi();
+ long GetHi() const;
/**
Returns the low 32 bits of 64 bit integer.
*/
- unsigned long GetLo();
+ unsigned long GetLo() const;
/**
Convert to native long long (only for compilers supporting it)
*/
- wxLongLong_t GetValue();
+ wxLongLong_t GetValue() const;
/**
Returns the value as @c double.
*/
- double ToDouble();
+ double ToDouble() const;
/**
Truncate wxLongLong to long. If the conversion loses data (i.e. the wxLongLong
value is outside the range of built-in long type), an assert will be triggered
in debug mode.
*/
- long ToLong();
+ long ToLong() const;
/**
Returns the string representation of a wxLongLong.
*/
- wxString ToString();
+ wxString ToString() const;
/**
Adds 2 wxLongLongs together and returns the result.
*/
- wxLongLong operator+(const wxLongLong& ll);
+ wxLongLong operator+(const wxLongLong& ll) const;
//@{
/**
/**
Subtracts 2 wxLongLongs and returns the result.
*/
- wxLongLong operator-(const wxLongLong& ll);
+ wxLongLong operator-(const wxLongLong& ll) const;
//@{
/**
/**
Assignment operator from unsigned long long. The sign bit will be copied too.
-
- This function is new since wxWidgets version 2.7.0
+
+ @wxsince{2.7.0}
*/
- wxLongLong& operator operator=(const wxULongLong & ll);
+ wxLongLong& operator operator=(const wxULongLong& ll);
};
+
// ============================================================================
// Global functions/macros
// ============================================================================
+/** @ingroup group_funcmacro_misc */
+//@{
+
/**
This macro is defined to contain the @c printf() format specifier using
which 64 bit integer numbers (i.e. those of type @c wxLongLong_t) can be
printed. Example of using it:
+
@code
#ifdef wxLongLong_t
- wxLongLong_t ll = wxLL(0x1234567890abcdef);
- printf("Long long = %" wxLongLongFmtSpec "x\n", ll);
- #endif
+ wxLongLong_t ll = wxLL(0x1234567890abcdef);
+ printf("Long long = %" wxLongLongFmtSpec "x\n", ll);
+ #endif
@endcode
- @sa wxLL
-*/
+ @see wxLL()
+ @header{wx/longlong.h}
+*/
+#define wxLongLongFmtSpec
/**
- This macro is defined for the platforms with a native 64 bit integer type and
- allows to define unsigned 64 bit compile time constants:
+ This macro is defined for the platforms with a native 64 bit integer type
+ and allow the use of 64 bit compile time constants:
+
@code
#ifdef wxLongLong_t
- unsigned wxLongLong_t ll = wxULL(0x1234567890abcdef);
- #endif
+ wxLongLong_t ll = wxLL(0x1234567890abcdef);
+ #endif
@endcode
- @sa wxLL, wxLongLong
+ @see wxULL(), wxLongLong
+
+ @header{wx/longlong.h}
*/
-#define wxLongLong_t wxULL(number) /* implementation is private */
+wxLongLong_t wxLL(number);
/**
- This macro is defined for the platforms with a native 64 bit integer type and
- allows to define 64 bit compile time constants:
+ This macro is defined for the platforms with a native 64 bit integer type
+ and allow the use of 64 bit compile time constants:
+
@code
#ifdef wxLongLong_t
- wxLongLong_t ll = wxLL(0x1234567890abcdef);
- #endif
+ unsigned wxLongLong_t ll = wxULL(0x1234567890abcdef);
+ #endif
@endcode
- @sa wxULL, wxLongLong
+ @see wxLL(), wxLongLong
+
+ @header{wx/longlong.h}
*/
-#define wxLongLong_t wxLL(number) /* implementation is private */
+wxLongLong_t wxULL(number);
+
+//@}