8#ifndef INCLUDED_BSLX_GENERICINSTREAM
9#define INCLUDED_BSLX_GENERICINSTREAM
558#include <bslscm_version.h>
567#include <bsl_cstddef.h>
568#include <bsl_string.h>
569#include <bsl_vector.h>
590template <
class STREAMBUF>
607 k_SIZEOF_FLOAT64 = 8,
612 STREAMBUF *d_streamBuf;
1172 operator const void *()
const;
1190template <
class STREAMBUF,
class TYPE>
1203template <
class STREAMBUF>
1211template <
class STREAMBUF>
1214: d_streamBuf(streamBuf)
1220template <
class STREAMBUF>
1227template <
class STREAMBUF>
1238 const int current = d_streamBuf->sgetc();
1239 if (STREAMBUF::traits_type::eof() != current) {
1241 if (127 < current) {
1246 length &= 0x7fffffff;
1260template <
class STREAMBUF>
1270 unsigned char tmp = 0;
1277template <
class STREAMBUF>
1281 d_validFlag =
false;
1286template <
class STREAMBUF>
1298 if (
sizeof variable > k_SIZEOF_INT64) {
1299 const int current = d_streamBuf->sgetc();
1301 STREAMBUF::traits_type::eof() == current)) {
1305 variable = 0x80 & current ? -1 : 0;
1308#ifdef BSLS_PLATFORM_IS_LITTLE_ENDIAN
1309 char *bytes =
reinterpret_cast<char *
>(&variable);
1310 char rawBytes[k_SIZEOF_INT64];
1311 if (k_SIZEOF_INT64 == d_streamBuf->sgetn(rawBytes, k_SIZEOF_INT64)) {
1313 bytes[7] = rawBytes[0];
1314 bytes[6] = rawBytes[1];
1315 bytes[5] = rawBytes[2];
1316 bytes[4] = rawBytes[3];
1317 bytes[3] = rawBytes[4];
1318 bytes[2] = rawBytes[5];
1319 bytes[1] = rawBytes[6];
1320 bytes[0] = rawBytes[7];
1324 reinterpret_cast<char *
>(&variable) +
sizeof variable - k_SIZEOF_INT64;
1325 if (k_SIZEOF_INT64 == d_streamBuf->sgetn(bytes, k_SIZEOF_INT64)) {
1333template <
class STREAMBUF>
1345 if (
sizeof variable > k_SIZEOF_INT64) {
1349#ifdef BSLS_PLATFORM_IS_LITTLE_ENDIAN
1350 char *bytes =
reinterpret_cast<char *
>(&variable);
1351 char rawBytes[k_SIZEOF_INT64];
1352 if (k_SIZEOF_INT64 == d_streamBuf->sgetn(rawBytes, k_SIZEOF_INT64)) {
1354 bytes[7] = rawBytes[0];
1355 bytes[6] = rawBytes[1];
1356 bytes[5] = rawBytes[2];
1357 bytes[4] = rawBytes[3];
1358 bytes[3] = rawBytes[4];
1359 bytes[2] = rawBytes[5];
1360 bytes[1] = rawBytes[6];
1361 bytes[0] = rawBytes[7];
1365 reinterpret_cast<char *
>(&variable) +
sizeof variable - k_SIZEOF_INT64;
1366 if (k_SIZEOF_INT64 == d_streamBuf->sgetn(bytes, k_SIZEOF_INT64)) {
1374template <
class STREAMBUF>
1386 const int current = d_streamBuf->sgetc();
1388 STREAMBUF::traits_type::eof() == current)) {
1392 variable = 0x80 & current ? -1 : 0;
1394#ifdef BSLS_PLATFORM_IS_LITTLE_ENDIAN
1395 char *bytes =
reinterpret_cast<char *
>(&variable);
1396 char rawBytes[k_SIZEOF_INT56];
1397 if (k_SIZEOF_INT56 == d_streamBuf->sgetn(rawBytes, k_SIZEOF_INT56)) {
1399 bytes[6] = rawBytes[0];
1400 bytes[5] = rawBytes[1];
1401 bytes[4] = rawBytes[2];
1402 bytes[3] = rawBytes[3];
1403 bytes[2] = rawBytes[4];
1404 bytes[1] = rawBytes[5];
1405 bytes[0] = rawBytes[6];
1409 reinterpret_cast<char *
>(&variable) +
sizeof variable - k_SIZEOF_INT56;
1410 if (k_SIZEOF_INT56 == d_streamBuf->sgetn(bytes, k_SIZEOF_INT56)) {
1418template <
class STREAMBUF>
1432#ifdef BSLS_PLATFORM_IS_LITTLE_ENDIAN
1433 char *bytes =
reinterpret_cast<char *
>(&variable);
1434 char rawBytes[k_SIZEOF_INT56];
1435 if (k_SIZEOF_INT56 == d_streamBuf->sgetn(rawBytes, k_SIZEOF_INT56)) {
1437 bytes[6] = rawBytes[0];
1438 bytes[5] = rawBytes[1];
1439 bytes[4] = rawBytes[2];
1440 bytes[3] = rawBytes[3];
1441 bytes[2] = rawBytes[4];
1442 bytes[1] = rawBytes[5];
1443 bytes[0] = rawBytes[6];
1447 reinterpret_cast<char *
>(&variable) +
sizeof variable - k_SIZEOF_INT56;
1448 if (k_SIZEOF_INT56 == d_streamBuf->sgetn(bytes, k_SIZEOF_INT56)) {
1456template <
class STREAMBUF>
1468 const int current = d_streamBuf->sgetc();
1470 STREAMBUF::traits_type::eof() == current)) {
1474 variable = 0x80 & current ? -1 : 0;
1476#ifdef BSLS_PLATFORM_IS_LITTLE_ENDIAN
1477 char *bytes =
reinterpret_cast<char *
>(&variable);
1478 char rawBytes[k_SIZEOF_INT48];
1479 if (k_SIZEOF_INT48 == d_streamBuf->sgetn(rawBytes, k_SIZEOF_INT48)) {
1481 bytes[5] = rawBytes[0];
1482 bytes[4] = rawBytes[1];
1483 bytes[3] = rawBytes[2];
1484 bytes[2] = rawBytes[3];
1485 bytes[1] = rawBytes[4];
1486 bytes[0] = rawBytes[5];
1490 reinterpret_cast<char *
>(&variable) +
sizeof variable - k_SIZEOF_INT48;
1491 if (k_SIZEOF_INT48 == d_streamBuf->sgetn(bytes, k_SIZEOF_INT48)) {
1499template <
class STREAMBUF>
1513#ifdef BSLS_PLATFORM_IS_LITTLE_ENDIAN
1514 char *bytes =
reinterpret_cast<char *
>(&variable);
1515 char rawBytes[k_SIZEOF_INT48];
1516 if (k_SIZEOF_INT48 == d_streamBuf->sgetn(rawBytes, k_SIZEOF_INT48)) {
1518 bytes[5] = rawBytes[0];
1519 bytes[4] = rawBytes[1];
1520 bytes[3] = rawBytes[2];
1521 bytes[2] = rawBytes[3];
1522 bytes[1] = rawBytes[4];
1523 bytes[0] = rawBytes[5];
1527 reinterpret_cast<char *
>(&variable) +
sizeof variable - k_SIZEOF_INT48;
1528 if (k_SIZEOF_INT48 == d_streamBuf->sgetn(bytes, k_SIZEOF_INT48)) {
1536template <
class STREAMBUF>
1548 const int current = d_streamBuf->sgetc();
1550 STREAMBUF::traits_type::eof() == current)) {
1554 variable = 0x80 & current ? -1 : 0;
1556#ifdef BSLS_PLATFORM_IS_LITTLE_ENDIAN
1557 char *bytes =
reinterpret_cast<char *
>(&variable);
1558 char rawBytes[k_SIZEOF_INT40];
1559 if (k_SIZEOF_INT40 == d_streamBuf->sgetn(rawBytes, k_SIZEOF_INT40)) {
1561 bytes[4] = rawBytes[0];
1562 bytes[3] = rawBytes[1];
1563 bytes[2] = rawBytes[2];
1564 bytes[1] = rawBytes[3];
1565 bytes[0] = rawBytes[4];
1569 reinterpret_cast<char *
>(&variable) +
sizeof variable - k_SIZEOF_INT40;
1570 if (k_SIZEOF_INT40 == d_streamBuf->sgetn(bytes, k_SIZEOF_INT40)) {
1578template <
class STREAMBUF>
1592#ifdef BSLS_PLATFORM_IS_LITTLE_ENDIAN
1593 char *bytes =
reinterpret_cast<char *
>(&variable);
1594 char rawBytes[k_SIZEOF_INT40];
1595 if (k_SIZEOF_INT40 == d_streamBuf->sgetn(rawBytes, k_SIZEOF_INT40)) {
1597 bytes[4] = rawBytes[0];
1598 bytes[3] = rawBytes[1];
1599 bytes[2] = rawBytes[2];
1600 bytes[1] = rawBytes[3];
1601 bytes[0] = rawBytes[4];
1605 reinterpret_cast<char *
>(&variable) +
sizeof variable - k_SIZEOF_INT40;
1606 if (k_SIZEOF_INT40 == d_streamBuf->sgetn(bytes, k_SIZEOF_INT40)) {
1614template <
class STREAMBUF>
1626 if (
sizeof variable > k_SIZEOF_INT32) {
1627 const int current = d_streamBuf->sgetc();
1629 STREAMBUF::traits_type::eof() == current)) {
1633 variable = 0x80 & current ? -1 : 0;
1636#ifdef BSLS_PLATFORM_IS_LITTLE_ENDIAN
1637 char *bytes =
reinterpret_cast<char *
>(&variable);
1638 char rawBytes[k_SIZEOF_INT32];
1639 if (k_SIZEOF_INT32 == d_streamBuf->sgetn(rawBytes, k_SIZEOF_INT32)) {
1641 bytes[3] = rawBytes[0];
1642 bytes[2] = rawBytes[1];
1643 bytes[1] = rawBytes[2];
1644 bytes[0] = rawBytes[3];
1648 reinterpret_cast<char *
>(&variable) +
sizeof variable - k_SIZEOF_INT32;
1649 if (k_SIZEOF_INT32 == d_streamBuf->sgetn(bytes, k_SIZEOF_INT32)) {
1657template <
class STREAMBUF>
1669 if (
sizeof variable > k_SIZEOF_INT32) {
1673#ifdef BSLS_PLATFORM_IS_LITTLE_ENDIAN
1674 char *bytes =
reinterpret_cast<char *
>(&variable);
1675 char rawBytes[k_SIZEOF_INT32];
1676 if (k_SIZEOF_INT32 == d_streamBuf->sgetn(rawBytes, k_SIZEOF_INT32)) {
1678 bytes[3] = rawBytes[0];
1679 bytes[2] = rawBytes[1];
1680 bytes[1] = rawBytes[2];
1681 bytes[0] = rawBytes[3];
1685 reinterpret_cast<char *
>(&variable) +
sizeof variable - k_SIZEOF_INT32;
1686 if (k_SIZEOF_INT32 == d_streamBuf->sgetn(bytes, k_SIZEOF_INT32)) {
1694template <
class STREAMBUF>
1706 const int current = d_streamBuf->sgetc();
1708 STREAMBUF::traits_type::eof() == current)) {
1712 variable = 0x80 & current ? -1 : 0;
1714#ifdef BSLS_PLATFORM_IS_LITTLE_ENDIAN
1715 char *bytes =
reinterpret_cast<char *
>(&variable);
1716 char rawBytes[k_SIZEOF_INT24];
1717 if (k_SIZEOF_INT24 == d_streamBuf->sgetn(rawBytes, k_SIZEOF_INT24)) {
1719 bytes[2] = rawBytes[0];
1720 bytes[1] = rawBytes[1];
1721 bytes[0] = rawBytes[2];
1725 reinterpret_cast<char *
>(&variable) +
sizeof variable - k_SIZEOF_INT24;
1726 if (k_SIZEOF_INT24 == d_streamBuf->sgetn(bytes, k_SIZEOF_INT24)) {
1734template <
class STREAMBUF>
1748#ifdef BSLS_PLATFORM_IS_LITTLE_ENDIAN
1749 char *bytes =
reinterpret_cast<char *
>(&variable);
1750 char rawBytes[k_SIZEOF_INT24];
1751 if (k_SIZEOF_INT24 == d_streamBuf->sgetn(rawBytes, k_SIZEOF_INT24)) {
1753 bytes[2] = rawBytes[0];
1754 bytes[1] = rawBytes[1];
1755 bytes[0] = rawBytes[2];
1759 reinterpret_cast<char *
>(&variable) +
sizeof variable - k_SIZEOF_INT24;
1760 if (k_SIZEOF_INT24 == d_streamBuf->sgetn(bytes, k_SIZEOF_INT24)) {
1768template <
class STREAMBUF>
1780 if (
sizeof variable > k_SIZEOF_INT16) {
1781 const int current = d_streamBuf->sgetc();
1783 STREAMBUF::traits_type::eof() == current)) {
1787 variable = 0x80 & current ? -1 : 0;
1790#ifdef BSLS_PLATFORM_IS_LITTLE_ENDIAN
1791 char *bytes =
reinterpret_cast<char *
>(&variable);
1792 char rawBytes[k_SIZEOF_INT16];
1793 if (k_SIZEOF_INT16 == d_streamBuf->sgetn(rawBytes, k_SIZEOF_INT16)) {
1795 bytes[1] = rawBytes[0];
1796 bytes[0] = rawBytes[1];
1800 reinterpret_cast<char *
>(&variable) +
sizeof variable - k_SIZEOF_INT16;
1801 if (k_SIZEOF_INT16 == d_streamBuf->sgetn(bytes, k_SIZEOF_INT16)) {
1809template <
class STREAMBUF>
1821 if (
sizeof variable > k_SIZEOF_INT16) {
1825#ifdef BSLS_PLATFORM_IS_LITTLE_ENDIAN
1826 char *bytes =
reinterpret_cast<char *
>(&variable);
1827 char rawBytes[k_SIZEOF_INT16];
1828 if (k_SIZEOF_INT16 == d_streamBuf->sgetn(rawBytes, k_SIZEOF_INT16)) {
1830 bytes[1] = rawBytes[0];
1831 bytes[0] = rawBytes[1];
1835 reinterpret_cast<char *
>(&variable) +
sizeof variable - k_SIZEOF_INT16;
1836 if (k_SIZEOF_INT16 == d_streamBuf->sgetn(bytes, k_SIZEOF_INT16)) {
1844template <
class STREAMBUF>
1856 const int current = d_streamBuf->sbumpc();
1857 if (STREAMBUF::traits_type::eof() != current) {
1859 variable =
static_cast<char>(current);
1865template <
class STREAMBUF>
1870 return getInt8(
reinterpret_cast<char&
>(variable));
1873template <
class STREAMBUF>
1878 return getInt8(variable);
1881template <
class STREAMBUF>
1886 return getInt8(
reinterpret_cast<char&
>(variable));
1891template <
class STREAMBUF>
1903 if (
sizeof variable > k_SIZEOF_FLOAT64) {
1907#ifdef BSLS_PLATFORM_IS_LITTLE_ENDIAN
1908 char *bytes =
reinterpret_cast<char *
>(&variable);
1909 char rawBytes[k_SIZEOF_FLOAT64];
1910 if (k_SIZEOF_FLOAT64 == d_streamBuf->sgetn(rawBytes, k_SIZEOF_FLOAT64)) {
1912 bytes[
sizeof variable - 1] = rawBytes[0];
1913 bytes[
sizeof variable - 2] = rawBytes[1];
1914 bytes[
sizeof variable - 3] = rawBytes[2];
1915 bytes[
sizeof variable - 4] = rawBytes[3];
1916 bytes[
sizeof variable - 5] = rawBytes[4];
1917 bytes[
sizeof variable - 6] = rawBytes[5];
1918 bytes[
sizeof variable - 7] = rawBytes[6];
1919 bytes[
sizeof variable - 8] = rawBytes[7];
1922 char *bytes =
reinterpret_cast<char *
>(&variable);
1923 if (k_SIZEOF_FLOAT64 == d_streamBuf->sgetn(bytes, k_SIZEOF_FLOAT64)) {
1931template <
class STREAMBUF>
1943 if (
sizeof variable > k_SIZEOF_FLOAT32) {
1947#ifdef BSLS_PLATFORM_IS_LITTLE_ENDIAN
1948 char *bytes =
reinterpret_cast<char *
>(&variable);
1949 char rawBytes[k_SIZEOF_FLOAT32];
1950 if (k_SIZEOF_FLOAT32 == d_streamBuf->sgetn(rawBytes, k_SIZEOF_FLOAT32)) {
1952 bytes[
sizeof variable - 1] = rawBytes[0];
1953 bytes[
sizeof variable - 2] = rawBytes[1];
1954 bytes[
sizeof variable - 3] = rawBytes[2];
1955 bytes[
sizeof variable - 4] = rawBytes[3];
1958 char *bytes =
reinterpret_cast<char *
>(&variable);
1959 if (k_SIZEOF_FLOAT32 == d_streamBuf->sgetn(bytes, k_SIZEOF_FLOAT32)) {
1969template <
class STREAMBUF>
1991 enum { k_INITIAL_ALLOCATION_SIZE = 16 * 1024 * 1024 };
1993 const int initialLength = length < k_INITIAL_ALLOCATION_SIZE
1995 : k_INITIAL_ALLOCATION_SIZE;
1997 variable.
resize(initialLength);
2003 getArrayUint8(&variable.
front(), initialLength);
2004 if (isValid() && length > initialLength) {
2006 getArrayUint8(&variable[initialLength], length - initialLength);
2014template <
class STREAMBUF>
2023 || 0 == numVariables)) {
2029 for (; variables != end; ++variables) {
2030 getInt64(*variables);
2036template <
class STREAMBUF>
2045 || 0 == numVariables)) {
2051 for (; variables != end; ++variables) {
2052 getUint64(*variables);
2058template <
class STREAMBUF>
2067 || 0 == numVariables)) {
2073 for (; variables != end; ++variables) {
2074 getInt56(*variables);
2080template <
class STREAMBUF>
2089 || 0 == numVariables)) {
2095 for (; variables != end; ++variables) {
2096 getUint56(*variables);
2102template <
class STREAMBUF>
2111 || 0 == numVariables)) {
2117 for (; variables != end; ++variables) {
2118 getInt48(*variables);
2124template <
class STREAMBUF>
2133 || 0 == numVariables)) {
2139 for (; variables != end; ++variables) {
2140 getUint48(*variables);
2146template <
class STREAMBUF>
2155 || 0 == numVariables)) {
2161 for (; variables != end; ++variables) {
2162 getInt40(*variables);
2168template <
class STREAMBUF>
2177 || 0 == numVariables)) {
2183 for (; variables != end; ++variables) {
2184 getUint40(*variables);
2190template <
class STREAMBUF>
2198 || 0 == numVariables)) {
2203 const int *end = variables + numVariables;
2204 for (; variables != end; ++variables) {
2205 getInt32(*variables);
2211template <
class STREAMBUF>
2220 || 0 == numVariables)) {
2225 const unsigned int *end = variables + numVariables;
2226 for (; variables != end; ++variables) {
2227 getUint32(*variables);
2233template <
class STREAMBUF>
2241 || 0 == numVariables)) {
2246 const int *end = variables + numVariables;
2247 for (; variables != end; ++variables) {
2248 getInt24(*variables);
2254template <
class STREAMBUF>
2263 || 0 == numVariables)) {
2268 const unsigned int *end = variables + numVariables;
2269 for (; variables != end; ++variables) {
2270 getUint24(*variables);
2276template <
class STREAMBUF>
2285 || 0 == numVariables)) {
2290 const short *end = variables + numVariables;
2291 for (; variables != end; ++variables) {
2292 getInt16(*variables);
2298template <
class STREAMBUF>
2307 || 0 == numVariables)) {
2312 const unsigned short *end = variables + numVariables;
2313 for (; variables != end; ++variables) {
2314 getUint16(*variables);
2320template <
class STREAMBUF>
2329 || 0 == numVariables)) {
2334 const char *end = variables + numVariables;
2335 for (; variables != end; ++variables) {
2336 getInt8(*variables);
2342template <
class STREAMBUF>
2351 return getArrayInt8(
reinterpret_cast<char *
>(variables), numVariables);
2354template <
class STREAMBUF>
2363 return getArrayInt8(variables, numVariables);
2366template <
class STREAMBUF>
2375 return getArrayInt8(
reinterpret_cast<char *
>(variables), numVariables);
2380template <
class STREAMBUF>
2389 || 0 == numVariables)) {
2394 const double *end = variables + numVariables;
2395 for (; variables != end; ++variables) {
2396 getFloat64(*variables);
2402template <
class STREAMBUF>
2411 || 0 == numVariables)) {
2416 const float *end = variables + numVariables;
2417 for (; variables != end; ++variables) {
2418 getFloat32(*variables);
2425template <
class STREAMBUF>
2429 return isValid() ? this : 0;
2432template <
class STREAMBUF>
2439template <
class STREAMBUF,
class TYPE>
Definition bslstl_string.h:1252
CHAR_TYPE & front()
Definition bslstl_string.h:6115
void resize(size_type newLength, CHAR_TYPE character)
Definition bslstl_string.h:5977
Definition bslx_genericinstream.h:591
GenericInStream & getInt16(short &variable)
Definition bslx_genericinstream.h:1771
GenericInStream & getArrayUint32(unsigned int *variables, int numVariables)
Definition bslx_genericinstream.h:2213
GenericInStream & getArrayInt40(bsls::Types::Int64 *variables, int numVariables)
Definition bslx_genericinstream.h:2148
GenericInStream & getInt8(char &variable)
Definition bslx_genericinstream.h:1847
GenericInStream & getArrayUint16(unsigned short *variables, int numVariables)
Definition bslx_genericinstream.h:2300
GenericInStream & getArrayInt56(bsls::Types::Int64 *variables, int numVariables)
Definition bslx_genericinstream.h:2060
GenericInStream & getUint16(unsigned short &variable)
Definition bslx_genericinstream.h:1812
~GenericInStream()
Destroy this object.
Definition bslx_genericinstream.h:1222
GenericInStream & getArrayFloat32(float *variables, int numVariables)
Definition bslx_genericinstream.h:2404
GenericInStream & getUint32(unsigned int &variable)
Definition bslx_genericinstream.h:1660
GenericInStream & getArrayInt32(int *variables, int numVariables)
Definition bslx_genericinstream.h:2192
GenericInStream & getInt48(bsls::Types::Int64 &variable)
Definition bslx_genericinstream.h:1459
GenericInStream & getArrayUint24(unsigned int *variables, int numVariables)
Definition bslx_genericinstream.h:2256
void invalidate()
Definition bslx_genericinstream.h:1279
GenericInStream & getFloat64(double &variable)
Definition bslx_genericinstream.h:1894
bool isValid() const
Definition bslx_genericinstream.h:2434
GenericInStream & getArrayFloat64(double *variables, int numVariables)
Definition bslx_genericinstream.h:2382
GenericInStream & getUint64(bsls::Types::Uint64 &variable)
Definition bslx_genericinstream.h:1336
GenericInStream & getInt32(int &variable)
Definition bslx_genericinstream.h:1617
GenericInStream & getArrayInt24(int *variables, int numVariables)
Definition bslx_genericinstream.h:2235
GenericInStream & getUint56(bsls::Types::Uint64 &variable)
Definition bslx_genericinstream.h:1421
GenericInStream & getInt56(bsls::Types::Int64 &variable)
Definition bslx_genericinstream.h:1377
GenericInStream & getUint24(unsigned int &variable)
Definition bslx_genericinstream.h:1737
GenericInStream & getArrayInt48(bsls::Types::Int64 *variables, int numVariables)
Definition bslx_genericinstream.h:2104
GenericInStream & getArrayUint48(bsls::Types::Uint64 *variables, int numVariables)
Definition bslx_genericinstream.h:2126
GenericInStream & getInt64(bsls::Types::Int64 &variable)
Definition bslx_genericinstream.h:1289
GenericInStream & getVersion(int &version)
Definition bslx_genericinstream.h:1263
GenericInStream & getUint8(char &variable)
Definition bslx_genericinstream.h:1876
GenericInStream & getArrayUint8(char *variables, int numVariables)
Definition bslx_genericinstream.h:2357
GenericInStream & getLength(int &length)
Definition bslx_genericinstream.h:1229
GenericInStream & getString(bsl::string &variable)
Definition bslx_genericinstream.h:1971
GenericInStream & getArrayInt16(short *variables, int numVariables)
Definition bslx_genericinstream.h:2278
GenericInStream & getFloat32(float &variable)
Definition bslx_genericinstream.h:1934
GenericInStream & getUint48(bsls::Types::Uint64 &variable)
Definition bslx_genericinstream.h:1502
GenericInStream & getArrayInt64(bsls::Types::Int64 *variables, int numVariables)
Definition bslx_genericinstream.h:2016
GenericInStream & getInt24(int &variable)
Definition bslx_genericinstream.h:1697
GenericInStream & getArrayUint40(bsls::Types::Uint64 *variables, int numVariables)
Definition bslx_genericinstream.h:2170
GenericInStream & getUint40(bsls::Types::Uint64 &variable)
Definition bslx_genericinstream.h:1581
GenericInStream & getArrayInt8(char *variables, int numVariables)
Definition bslx_genericinstream.h:2322
GenericInStream & getArrayUint56(bsls::Types::Uint64 *variables, int numVariables)
Definition bslx_genericinstream.h:2082
GenericInStream & getInt40(bsls::Types::Int64 &variable)
Definition bslx_genericinstream.h:1539
GenericInStream & getArrayUint64(bsls::Types::Uint64 *variables, int numVariables)
Definition bslx_genericinstream.h:2038
#define BSLS_ASSERT(X)
Definition bsls_assert.h:1976
#define BSLS_ASSERT_SAFE(X)
Definition bsls_assert.h:1917
#define BSLS_IDENT(str)
BSLS_IDENT() - insert string into .comment binary segment (if supported)
Definition bsls_ident.h:238
STREAM & bdexStreamIn(STREAM &stream, VALUE_TYPE &variable)
Definition bslx_instreamfunctions.h:1263
Definition bslx_byteinstream.h:377
ByteInStream & operator>>(ByteInStream &stream, TYPE &value)
Definition bslx_byteinstream.h:2047
unsigned long long Uint64
Definition bsls_types.h:139
long long Int64
Definition bsls_types.h:134