summaryrefslogtreecommitdiff
path: root/ACE/ace/CDR_Size.inl
diff options
context:
space:
mode:
Diffstat (limited to 'ACE/ace/CDR_Size.inl')
-rw-r--r--ACE/ace/CDR_Size.inl14
1 files changed, 14 insertions, 0 deletions
diff --git a/ACE/ace/CDR_Size.inl b/ACE/ace/CDR_Size.inl
index fe04ea99955..9b83b6f72e0 100644
--- a/ACE/ace/CDR_Size.inl
+++ b/ACE/ace/CDR_Size.inl
@@ -113,6 +113,13 @@ ACE_SizeCDR::write_longdouble (const ACE_CDR::LongDouble &x)
}
ACE_INLINE ACE_CDR::Boolean
+ACE_SizeCDR::write_fixed (const ACE_CDR::Fixed &x)
+{
+ return this->write_array (&x, ACE_CDR::OCTET_SIZE, ACE_CDR::OCTET_ALIGN,
+ (x.fixed_digits () + 2) / 2);
+}
+
+ACE_INLINE ACE_CDR::Boolean
ACE_SizeCDR::write_string (const ACE_CDR::Char *x)
{
if (x != 0)
@@ -345,6 +352,13 @@ operator<< (ACE_SizeCDR &ss, ACE_CDR::Double x)
}
ACE_INLINE ACE_CDR::Boolean
+operator<< (ACE_SizeCDR &ss, const ACE_CDR::Fixed &x)
+{
+ ss.write_fixed (x);
+ return (ACE_CDR::Boolean) ss.good_bit ();
+}
+
+ACE_INLINE ACE_CDR::Boolean
operator<< (ACE_SizeCDR &ss, const ACE_CDR::Char *x)
{
ss.write_string (x);