summaryrefslogtreecommitdiff
path: root/ace/CDR_Base.cpp
diff options
context:
space:
mode:
authorOssama Othman <ossama-othman@users.noreply.github.com>2003-02-20 17:04:19 +0000
committerOssama Othman <ossama-othman@users.noreply.github.com>2003-02-20 17:04:19 +0000
commit29b1f2b8f8d739783db173628961cdc19b272f31 (patch)
tree60955587fb9ffb8b0581545b140807cc62000d0e /ace/CDR_Base.cpp
parent9cf80f9de4604004951879e2c249c05ed1b1f098 (diff)
downloadATCD-29b1f2b8f8d739783db173628961cdc19b272f31.tar.gz
ChangeLogTag:Thu Feb 20 09:01:55 2003 Ossama Othman <ossama@uci.edu>
Diffstat (limited to 'ace/CDR_Base.cpp')
-rw-r--r--ace/CDR_Base.cpp316
1 files changed, 208 insertions, 108 deletions
diff --git a/ace/CDR_Base.cpp b/ace/CDR_Base.cpp
index c01c3e40039..64f1e3472f4 100644
--- a/ace/CDR_Base.cpp
+++ b/ace/CDR_Base.cpp
@@ -1,7 +1,3 @@
-// -*- C++ -*-
-//
-// $Id$
-
#include "ace/CDR_Base.h"
#include "ace/Message_Block.h"
@@ -9,11 +5,12 @@
# include "ace/CDR_Base.inl"
#endif /* ! __ACE_INLINE__ */
-ACE_RCSID(ace, CDR_Base, "$Id$")
-
+ACE_RCSID (ace,
+ CDR_Base,
+ "$Id$")
//
-// See comments in CDR_Base.i about optimization cases for swap_XX_array.
+// See comments in CDR_Base.inl about optimization cases for swap_XX_array.
//
void
@@ -24,7 +21,7 @@ ACE_CDR::swap_2_array (const char* orig, char* target, size_t n)
// Later, we try to read in 32 or 64 bit chunks,
// so make sure we don't do that for unaligned addresses.
#if ACE_SIZEOF_LONG == 8
- const char* const o8 = ACE_ptr_align_binary(orig, 8);
+ const char* const o8 = ACE_ptr_align_binary (orig, 8);
while (orig < o8 && n > 0)
{
ACE_CDR::swap_2 (orig, target);
@@ -33,7 +30,7 @@ ACE_CDR::swap_2_array (const char* orig, char* target, size_t n)
--n;
}
#else
- const char* const o4 = ACE_ptr_align_binary(orig, 4);
+ const char* const o4 = ACE_ptr_align_binary (orig, 4);
// this is an _if_, not a _while_. The mistmatch can only be by 2.
if (orig != o4)
{
@@ -54,28 +51,28 @@ ACE_CDR::swap_2_array (const char* orig, char* target, size_t n)
// In the while loop ahead, orig will move over the array by 8 byte
// increments (4 elements of 2 bytes).
// end marks our barrier for not falling outside.
- const char* const end = orig + 2*(n & (~3));
+ const char* const end = orig + 2 * (n & (~3));
// See if we're aligned for writting in 64 or 32 bit chunks...
#if ACE_SIZEOF_LONG == 8
- if (target == ACE_ptr_align_binary(target, 8))
+ if (target == ACE_ptr_align_binary (target, 8))
#else
- if (target == ACE_ptr_align_binary(target, 4))
+ if (target == ACE_ptr_align_binary (target, 4))
#endif
{
while (orig < end)
{
-#if defined(ACE_HAS_PENTIUM) && defined(__GNUG__)
+#if defined (ACE_HAS_PENTIUM) && defined (__GNUG__)
unsigned int a =
- * ACE_reinterpret_cast(const unsigned int*, orig);
+ * ACE_reinterpret_cast (const unsigned int*, orig);
unsigned int b =
- * ACE_reinterpret_cast(const unsigned int*, orig + 4);
- asm( "bswap %1" : "=r" (a) : "0" (a) );
- asm( "bswap %1" : "=r" (b) : "0" (b) );
- asm( "rol $16, %1" : "=r" (a) : "0" (a) );
- asm( "rol $16, %1" : "=r" (b) : "0" (b) );
- * ACE_reinterpret_cast(unsigned int*, target) = a;
- * ACE_reinterpret_cast(unsigned int*, target + 4) = b;
+ * ACE_reinterpret_cast (const unsigned int*, orig + 4);
+ asm ( "bswap %1" : "=r" (a) : "0" (a) );
+ asm ( "bswap %1" : "=r" (b) : "0" (b) );
+ asm ( "rol $16, %1" : "=r" (a) : "0" (a) );
+ asm ( "rol $16, %1" : "=r" (b) : "0" (b) );
+ * ACE_reinterpret_cast (unsigned int*, target) = a;
+ * ACE_reinterpret_cast (unsigned int*, target + 4) = b;
#elif defined(ACE_HAS_PENTIUM) \
&& (defined(_MSC_VER) || defined(__BORLANDC__)) \
&& !defined(ACE_LACKS_INLINE_ASSEMBLY)
@@ -92,19 +89,19 @@ ACE_CDR::swap_2_array (const char* orig, char* target, size_t n)
#elif ACE_SIZEOF_LONG == 8
// 64 bit architecture.
register unsigned long a =
- * ACE_reinterpret_cast(const unsigned long*, orig);
+ * ACE_reinterpret_cast (const unsigned long*, orig);
register unsigned long a1 = (a & 0x00ff00ff00ff00ffUL) << 8;
register unsigned long a2 = (a & 0xff00ff00ff00ff00UL) >> 8;
a = (a1 | a2);
- * ACE_reinterpret_cast(unsigned long*, target) = a;
+ * ACE_reinterpret_cast (unsigned long*, target) = a;
#else
register ACE_UINT32 a =
- * ACE_reinterpret_cast(const ACE_UINT32*, orig);
+ * ACE_reinterpret_cast (const ACE_UINT32*, orig);
register ACE_UINT32 b =
- * ACE_reinterpret_cast(const ACE_UINT32*, orig + 4);
+ * ACE_reinterpret_cast (const ACE_UINT32*, orig + 4);
register ACE_UINT32 a1 = (a & 0x00ff00ffU) << 8;
register ACE_UINT32 b1 = (b & 0x00ff00ffU) << 8;
@@ -114,8 +111,8 @@ ACE_CDR::swap_2_array (const char* orig, char* target, size_t n)
a = (a1 | a2);
b = (b1 | b2);
- * ACE_reinterpret_cast(ACE_UINT32*, target) = a;
- * ACE_reinterpret_cast(ACE_UINT32*, target + 4) = b;
+ * ACE_reinterpret_cast (ACE_UINT32*, target) = a;
+ * ACE_reinterpret_cast (ACE_UINT32*, target + 4) = b;
#endif
orig += 8;
target += 8;
@@ -126,27 +123,27 @@ ACE_CDR::swap_2_array (const char* orig, char* target, size_t n)
// We're out of luck. We have to write in 2 byte chunks.
while (orig < end)
{
-#if defined(ACE_HAS_PENTIUM) && defined(__GNUG__)
+#if defined (ACE_HAS_PENTIUM) && defined (__GNUG__)
unsigned int a =
- * ACE_reinterpret_cast(const unsigned int*, orig);
+ * ACE_reinterpret_cast (const unsigned int*, orig);
unsigned int b =
- * ACE_reinterpret_cast(const unsigned int*, orig + 4);
- asm( "bswap %1" : "=r" (a) : "0" (a) );
- asm( "bswap %1" : "=r" (b) : "0" (b) );
+ * ACE_reinterpret_cast (const unsigned int*, orig + 4);
+ asm ( "bswap %1" : "=r" (a) : "0" (a) );
+ asm ( "bswap %1" : "=r" (b) : "0" (b) );
// We're little endian.
- * ACE_reinterpret_cast(unsigned short*, target + 2)
+ * ACE_reinterpret_cast (unsigned short*, target + 2)
= (unsigned short) (a & 0xffff);
- * ACE_reinterpret_cast(unsigned short*, target + 6)
+ * ACE_reinterpret_cast (unsigned short*, target + 6)
= (unsigned short) (b & 0xffff);
- asm( "shrl $16, %1" : "=r" (a) : "0" (a) );
- asm( "shrl $16, %1" : "=r" (b) : "0" (b) );
- * ACE_reinterpret_cast(unsigned short*, target + 0)
+ asm ( "shrl $16, %1" : "=r" (a) : "0" (a) );
+ asm ( "shrl $16, %1" : "=r" (b) : "0" (b) );
+ * ACE_reinterpret_cast (unsigned short*, target + 0)
= (unsigned short) (a & 0xffff);
- * ACE_reinterpret_cast(unsigned short*, target + 4)
+ * ACE_reinterpret_cast (unsigned short*, target + 4)
= (unsigned short) (b & 0xffff);
-#elif defined(ACE_HAS_PENTIUM) \
- && (defined(_MSC_VER) || defined(__BORLANDC__)) \
- && !defined(ACE_LACKS_INLINE_ASSEMBLY)
+#elif defined (ACE_HAS_PENTIUM) \
+ && (defined (_MSC_VER) || defined (__BORLANDC__)) \
+ && !defined (ACE_LACKS_INLINE_ASSEMBLY)
__asm mov ecx, orig;
__asm mov edx, target;
__asm mov eax, [ecx];
@@ -163,34 +160,34 @@ ACE_CDR::swap_2_array (const char* orig, char* target, size_t n)
#elif ACE_SIZEOF_LONG == 8
// 64 bit architecture.
register unsigned long a =
- * ACE_reinterpret_cast(const unsigned long*, orig);
+ * ACE_reinterpret_cast (const unsigned long*, orig);
register unsigned long a1 = (a & 0x00ff00ff00ff00ffUL) << 8;
register unsigned long a2 = (a & 0xff00ff00ff00ff00UL) >> 8;
a = (a1 | a2);
- ACE_UINT16 b1 = ACE_static_cast(ACE_UINT16, (a >> 48));
- ACE_UINT16 b2 = ACE_static_cast(ACE_UINT16, ((a >> 32) & 0xffff));
- ACE_UINT16 b3 = ACE_static_cast(ACE_UINT16, ((a >> 16) & 0xffff));
- ACE_UINT16 b4 = ACE_static_cast(ACE_UINT16, (a & 0xffff));
+ ACE_UINT16 b1 = ACE_static_cast (ACE_UINT16, (a >> 48));
+ ACE_UINT16 b2 = ACE_static_cast (ACE_UINT16, ((a >> 32) & 0xffff));
+ ACE_UINT16 b3 = ACE_static_cast (ACE_UINT16, ((a >> 16) & 0xffff));
+ ACE_UINT16 b4 = ACE_static_cast (ACE_UINT16, (a & 0xffff));
#if defined(ACE_LITTLE_ENDIAN)
- * ACE_reinterpret_cast(ACE_UINT16*, target) = b4;
- * ACE_reinterpret_cast(ACE_UINT16*, target + 2) = b3;
- * ACE_reinterpret_cast(ACE_UINT16*, target + 4) = b2;
- * ACE_reinterpret_cast(ACE_UINT16*, target + 6) = b1;
+ * ACE_reinterpret_cast (ACE_UINT16*, target) = b4;
+ * ACE_reinterpret_cast (ACE_UINT16*, target + 2) = b3;
+ * ACE_reinterpret_cast (ACE_UINT16*, target + 4) = b2;
+ * ACE_reinterpret_cast (ACE_UINT16*, target + 6) = b1;
#else
- * ACE_reinterpret_cast(ACE_UINT16*, target) = b1;
- * ACE_reinterpret_cast(ACE_UINT16*, target + 2) = b2;
- * ACE_reinterpret_cast(ACE_UINT16*, target + 4) = b3;
- * ACE_reinterpret_cast(ACE_UINT16*, target + 6) = b4;
+ * ACE_reinterpret_cast (ACE_UINT16*, target) = b1;
+ * ACE_reinterpret_cast (ACE_UINT16*, target + 2) = b2;
+ * ACE_reinterpret_cast (ACE_UINT16*, target + 4) = b3;
+ * ACE_reinterpret_cast (ACE_UINT16*, target + 6) = b4;
#endif
#else
register ACE_UINT32 a =
- * ACE_reinterpret_cast(const ACE_UINT32*, orig);
+ * ACE_reinterpret_cast (const ACE_UINT32*, orig);
register ACE_UINT32 b =
- * ACE_reinterpret_cast(const ACE_UINT32*, orig + 4);
+ * ACE_reinterpret_cast (const ACE_UINT32*, orig + 4);
register ACE_UINT32 a1 = (a & 0x00ff00ff) << 8;
register ACE_UINT32 b1 = (b & 0x00ff00ff) << 8;
@@ -200,21 +197,21 @@ ACE_CDR::swap_2_array (const char* orig, char* target, size_t n)
a = (a1 | a2);
b = (b1 | b2);
- ACE_UINT32 c1 = ACE_static_cast(ACE_UINT16, (a >> 16));
- ACE_UINT32 c2 = ACE_static_cast(ACE_UINT16, (a & 0xffff));
- ACE_UINT32 c3 = ACE_static_cast(ACE_UINT16, (b >> 16));
- ACE_UINT32 c4 = ACE_static_cast(ACE_UINT16, (b & 0xffff));
+ ACE_UINT32 c1 = ACE_static_cast (ACE_UINT16, (a >> 16));
+ ACE_UINT32 c2 = ACE_static_cast (ACE_UINT16, (a & 0xffff));
+ ACE_UINT32 c3 = ACE_static_cast (ACE_UINT16, (b >> 16));
+ ACE_UINT32 c4 = ACE_static_cast (ACE_UINT16, (b & 0xffff));
#if defined(ACE_LITTLE_ENDIAN)
- * ACE_reinterpret_cast(ACE_UINT16*, target) = c2;
- * ACE_reinterpret_cast(ACE_UINT16*, target + 2) = c1;
- * ACE_reinterpret_cast(ACE_UINT16*, target + 4) = c4;
- * ACE_reinterpret_cast(ACE_UINT16*, target + 6) = c3;
+ * ACE_reinterpret_cast (ACE_UINT16*, target) = c2;
+ * ACE_reinterpret_cast (ACE_UINT16*, target + 2) = c1;
+ * ACE_reinterpret_cast (ACE_UINT16*, target + 4) = c4;
+ * ACE_reinterpret_cast (ACE_UINT16*, target + 6) = c3;
#else
- * ACE_reinterpret_cast(ACE_UINT16*, target) = c1;
- * ACE_reinterpret_cast(ACE_UINT16*, target + 2) = c2;
- * ACE_reinterpret_cast(ACE_UINT16*, target + 4) = c3;
- * ACE_reinterpret_cast(ACE_UINT16*, target + 6) = c4;
+ * ACE_reinterpret_cast (ACE_UINT16*, target) = c1;
+ * ACE_reinterpret_cast (ACE_UINT16*, target + 2) = c2;
+ * ACE_reinterpret_cast (ACE_UINT16*, target + 4) = c3;
+ * ACE_reinterpret_cast (ACE_UINT16*, target + 6) = c4;
#endif
#endif
@@ -277,9 +274,9 @@ ACE_CDR::swap_4_array (const char* orig, char* target, size_t n)
while (orig < end)
{
register unsigned long a =
- * ACE_reinterpret_cast(const long*, orig);
+ * ACE_reinterpret_cast (const long*, orig);
register unsigned long b =
- * ACE_reinterpret_cast(const long*, orig + 8);
+ * ACE_reinterpret_cast (const long*, orig + 8);
register unsigned long a84 = (a & 0x000000ff000000ffL) << 24;
register unsigned long b84 = (b & 0x000000ff000000ffL) << 24;
@@ -293,8 +290,8 @@ ACE_CDR::swap_4_array (const char* orig, char* target, size_t n)
a = (a84 | a73 | a62 | a51);
b = (b84 | b73 | b62 | b51);
- * ACE_reinterpret_cast(long*, target) = a;
- * ACE_reinterpret_cast(long*, target + 8) = b;
+ * ACE_reinterpret_cast (long*, target) = a;
+ * ACE_reinterpret_cast (long*, target + 8) = b;
orig += 16;
target += 16;
@@ -306,9 +303,9 @@ ACE_CDR::swap_4_array (const char* orig, char* target, size_t n)
while (orig < end)
{
register unsigned long a =
- * ACE_reinterpret_cast(const long*, orig);
+ * ACE_reinterpret_cast (const long*, orig);
register unsigned long b =
- * ACE_reinterpret_cast(const long*, orig + 8);
+ * ACE_reinterpret_cast (const long*, orig + 8);
register unsigned long a84 = (a & 0x000000ff000000ffL) << 24;
register unsigned long b84 = (b & 0x000000ff000000ffL) << 24;
@@ -322,21 +319,21 @@ ACE_CDR::swap_4_array (const char* orig, char* target, size_t n)
a = (a84 | a73 | a62 | a51);
b = (b84 | b73 | b62 | b51);
- ACE_UINT32 c1 = ACE_static_cast(ACE_UINT32, (a >> 32));
- ACE_UINT32 c2 = ACE_static_cast(ACE_UINT32, (a & 0xffffffff));
- ACE_UINT32 c3 = ACE_static_cast(ACE_UINT32, (b >> 32));
- ACE_UINT32 c4 = ACE_static_cast(ACE_UINT32, (b & 0xffffffff));
+ ACE_UINT32 c1 = ACE_static_cast (ACE_UINT32, (a >> 32));
+ ACE_UINT32 c2 = ACE_static_cast (ACE_UINT32, (a & 0xffffffff));
+ ACE_UINT32 c3 = ACE_static_cast (ACE_UINT32, (b >> 32));
+ ACE_UINT32 c4 = ACE_static_cast (ACE_UINT32, (b & 0xffffffff));
#if defined(ACE_LITTLE_ENDIAN)
- * ACE_reinterpret_cast(ACE_UINT32*, target + 0) = c2;
- * ACE_reinterpret_cast(ACE_UINT32*, target + 4) = c1;
- * ACE_reinterpret_cast(ACE_UINT32*, target + 8) = c4;
- * ACE_reinterpret_cast(ACE_UINT32*, target + 12) = c3;
+ * ACE_reinterpret_cast (ACE_UINT32*, target + 0) = c2;
+ * ACE_reinterpret_cast (ACE_UINT32*, target + 4) = c1;
+ * ACE_reinterpret_cast (ACE_UINT32*, target + 8) = c4;
+ * ACE_reinterpret_cast (ACE_UINT32*, target + 12) = c3;
#else
- * ACE_reinterpret_cast(ACE_UINT32*, target + 0) = c1;
- * ACE_reinterpret_cast(ACE_UINT32*, target + 4) = c2;
- * ACE_reinterpret_cast(ACE_UINT32*, target + 8) = c3;
- * ACE_reinterpret_cast(ACE_UINT32*, target + 12) = c4;
+ * ACE_reinterpret_cast (ACE_UINT32*, target + 0) = c1;
+ * ACE_reinterpret_cast (ACE_UINT32*, target + 4) = c2;
+ * ACE_reinterpret_cast (ACE_UINT32*, target + 8) = c3;
+ * ACE_reinterpret_cast (ACE_UINT32*, target + 12) = c4;
#endif
orig += 16;
target += 16;
@@ -349,23 +346,23 @@ ACE_CDR::swap_4_array (const char* orig, char* target, size_t n)
{
#if defined(ACE_HAS_PENTIUM) && defined(__GNUG__)
register unsigned int a =
- *ACE_reinterpret_cast(const unsigned int*, orig);
+ *ACE_reinterpret_cast (const unsigned int*, orig);
register unsigned int b =
- *ACE_reinterpret_cast(const unsigned int*, orig + 4);
+ *ACE_reinterpret_cast (const unsigned int*, orig + 4);
register unsigned int c =
- *ACE_reinterpret_cast(const unsigned int*, orig + 8);
+ *ACE_reinterpret_cast (const unsigned int*, orig + 8);
register unsigned int d =
- *ACE_reinterpret_cast(const unsigned int*, orig + 12);
+ *ACE_reinterpret_cast (const unsigned int*, orig + 12);
asm ("bswap %1" : "=r" (a) : "0" (a));
asm ("bswap %1" : "=r" (b) : "0" (b));
asm ("bswap %1" : "=r" (c) : "0" (c));
asm ("bswap %1" : "=r" (d) : "0" (d));
- *ACE_reinterpret_cast(unsigned int*, target) = a;
- *ACE_reinterpret_cast(unsigned int*, target + 4) = b;
- *ACE_reinterpret_cast(unsigned int*, target + 8) = c;
- *ACE_reinterpret_cast(unsigned int*, target + 12) = d;
+ *ACE_reinterpret_cast (unsigned int*, target) = a;
+ *ACE_reinterpret_cast (unsigned int*, target + 4) = b;
+ *ACE_reinterpret_cast (unsigned int*, target + 8) = c;
+ *ACE_reinterpret_cast (unsigned int*, target + 12) = d;
#elif defined(ACE_HAS_PENTIUM) \
&& (defined(_MSC_VER) || defined(__BORLANDC__)) \
&& !defined(ACE_LACKS_INLINE_ASSEMBLY)
@@ -385,13 +382,13 @@ ACE_CDR::swap_4_array (const char* orig, char* target, size_t n)
__asm mov 12[esi], eax
#else
register ACE_UINT32 a =
- * ACE_reinterpret_cast(const ACE_UINT32*, orig);
+ * ACE_reinterpret_cast (const ACE_UINT32*, orig);
register ACE_UINT32 b =
- * ACE_reinterpret_cast(const ACE_UINT32*, orig + 4);
+ * ACE_reinterpret_cast (const ACE_UINT32*, orig + 4);
register ACE_UINT32 c =
- * ACE_reinterpret_cast(const ACE_UINT32*, orig + 8);
+ * ACE_reinterpret_cast (const ACE_UINT32*, orig + 8);
register ACE_UINT32 d =
- * ACE_reinterpret_cast(const ACE_UINT32*, orig + 12);
+ * ACE_reinterpret_cast (const ACE_UINT32*, orig + 12);
// Expect the optimizer reordering this A LOT.
// We leave it this way for clarity.
@@ -400,10 +397,10 @@ ACE_CDR::swap_4_array (const char* orig, char* target, size_t n)
c = (c << 24) | ((c & 0xff00) << 8) | ((c & 0xff0000) >> 8) | (c >> 24);
d = (d << 24) | ((d & 0xff00) << 8) | ((d & 0xff0000) >> 8) | (d >> 24);
- * ACE_reinterpret_cast(ACE_UINT32*, target) = a;
- * ACE_reinterpret_cast(ACE_UINT32*, target + 4) = b;
- * ACE_reinterpret_cast(ACE_UINT32*, target + 8) = c;
- * ACE_reinterpret_cast(ACE_UINT32*, target + 12) = d;
+ * ACE_reinterpret_cast (ACE_UINT32*, target) = a;
+ * ACE_reinterpret_cast (ACE_UINT32*, target + 4) = b;
+ * ACE_reinterpret_cast (ACE_UINT32*, target + 8) = c;
+ * ACE_reinterpret_cast (ACE_UINT32*, target + 12) = d;
#endif
orig += 16;
@@ -439,7 +436,7 @@ ACE_CDR::swap_8_array (const char* orig, char* target, size_t n)
const char* const end = orig + 8*n;
while (orig < end)
{
- swap_8(orig, target);
+ swap_8 (orig, target);
orig += 8;
target += 8;
}
@@ -453,12 +450,21 @@ ACE_CDR::swap_16_array (const char* orig, char* target, size_t n)
const char* const end = orig + 16*n;
while (orig < end)
{
- swap_16(orig, target);
+ swap_16 (orig, target);
orig += 16;
target += 16;
}
}
+void
+ACE_CDR::mb_align (ACE_Message_Block *mb)
+{
+ char *start = ACE_ptr_align_binary (mb->base (),
+ ACE_CDR::MAX_ALIGNMENT);
+ mb->rd_ptr (start);
+ mb->wr_ptr (start);
+}
+
int
ACE_CDR::grow (ACE_Message_Block *mb, size_t minsize)
{
@@ -545,6 +551,100 @@ ACE_CDR::LongLong::operator!= (const ACE_CDR::LongLong &rhs) const
{
return this->l != rhs.l || this->h != rhs.h;
}
+
+int
+ACE_CDR::LongLong::operator< (const ACE_CDR::LongLong &rhs) const
+{
+ return this->h < rhs.h && this->l < rhs.l;
+}
+
+int
+ACE_CDR::LongLong::operator<= (const ACE_CDR::LongLong &rhs) const
+{
+ return this->h <= rhs.h && this->l <= rhs.l;
+}
+
+int
+ACE_CDR::LongLong::operator> (const ACE_CDR::LongLong &rhs) const
+{
+ return this->h > rhs.h && this->l > rhs.l;
+}
+
+int
+ACE_CDR::LongLong::operator>= (const ACE_CDR::LongLong &rhs) const
+{
+ return this->h >= rhs.h && this->l >= rhs.l;
+}
+
+int
+ACE_CDR::LongLong::operator== (ACE_INT32 rhs) const
+{
+ // Do the right comparison based on the higher order bits. Those
+ // bits indicate whether or not this LongLong is positive or
+ // negative.
+ if ((this->h == 0 && rhs >= 0) || (this->h == 0xFFFFFFFF && rhs < 0))
+ return this->l == rhs;
+ else
+ return 0; // *this and rhs have different signs, or *this
+ // contains value that cannot be represented with 32
+ // bits alone.
+}
+
+int
+ACE_CDR::LongLong::operator!= (ACE_INT32 rhs) const
+{
+ // Do the right comparison based on the higher order bits. Those
+ // bits indicate whether or not this LongLong is positive or
+ // negative.
+ if ((this->h == 0 && rhs >= 0) || (this->h == 0xFFFFFFFF && rhs < 0))
+ return this->l != rhs;
+ else
+ return 1; // *this and rhs have different signs, or *this
+ // contains a value that cannot be represented with 32
+ // bits alone.
+}
+
+int
+ACE_CDR::LongLong::operator< (ACE_UINT32 rhs) const
+{
+ if (this->h > 0)
+ return 0; // 64 bit positive number
+
+ else if (this->h < 0)
+ return 1; // 64 bit negative number
+
+ else // this->h == 0
+ return ACE_static_cast (ACE_UINT32, this->l) < rhs; // 32 bit
+ // positive
+ // number
+}
+
+int
+ACE_CDR::LongLong::operator<= (ACE_UINT32 rhs) const
+{
+
+}
+
+int
+ACE_CDR::LongLong::operator> (ACE_UINT32 rhs) const
+{
+ if (this->h > 0)
+ return 1; // A positive number with greater than
+
+ else if (this->h < 0)
+ return 0; // 64 bit negative number
+
+ else // this->h == 0
+ return ACE_static_cast (ACE_UINT32, this->l) > rhs; // 32 bit
+ // positive
+ // number
+}
+
+int
+ACE_CDR::LongLong::operator>= (ACE_UINT32 rhs) const
+{
+ return this->l >= rhs;
+}
#endif /* NONNATIVE_LONGLONG */
#if defined (NONNATIVE_LONGDOUBLE)
@@ -563,22 +663,22 @@ ACE_CDR::LongDouble::operator!= (const ACE_CDR::LongDouble &rhs) const
#if defined(_UNICOS) && !defined(_CRAYMPP)
// placeholders to get things compiling
-ACE_CDR::Float::Float()
+ACE_CDR::Float::Float (void)
{
}
-ACE_CDR::Float::Float(const float & init)
+ACE_CDR::Float::Float (const float & /* init */)
{
}
ACE_CDR::Float &
-ACE_CDR::Float::operator= (const float &rhs)
+ACE_CDR::Float::operator= (const float & /* rhs */)
{
return *this;
}
int
-ACE_CDR::Float::operator!= (const ACE_CDR::Float &rhs) const
+ACE_CDR::Float::operator!= (const ACE_CDR::Float & /* rhs */) const
{
return 0;
}