本文整理汇总了C++中ACE_InputCDR::adjust方法的典型用法代码示例。如果您正苦于以下问题:C++ ACE_InputCDR::adjust方法的具体用法?C++ ACE_InputCDR::adjust怎么用?C++ ACE_InputCDR::adjust使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ACE_InputCDR
的用法示例。
在下文中一共展示了ACE_InputCDR::adjust方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: defined
ACE_CDR::Boolean
UTF16_UCS2_Translator::read_wchar_array_i (ACE_InputCDR & cdr,
ACE_CDR::WChar *x,
ACE_CDR::ULong &length,
int)
{
int must_swap = 0;
char* buf;
static const size_t align = ACE_CDR::SHORT_ALIGN;
if (cdr.adjust (ACE_UTF16_CODEPOINT_SIZE * length, align, buf) == 0)
{
ACE_UTF16_T *sb = reinterpret_cast <ACE_UTF16_T *> (buf);
#if defined (ACE_LITTLE_ENDIAN)
must_swap = 1;
#endif // ACE_LITTLE_ENDIAN
for (size_t i = 0; i < length; ++i)
#if defined (ACE_DISABLE_SWAP_ON_READ)
x[i] = static_cast <ACE_CDR::WChar> (sb[i]);
#else
if (!must_swap)
{
x[i] = static_cast <ACE_CDR::WChar> (sb[i]);
}
else
{
ACE_CDR::UShort sx;
ACE_CDR::swap_2 (&buf[i*2], reinterpret_cast <char *> (&sx));
x[i] = static_cast <ACE_CDR::WChar> (sx);
}
#endif /* ACE_DISABLE_SWAP_ON_READ */
return 1;
}
return 0;
}