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>
589template <
class STREAMBUF>
606 k_SIZEOF_FLOAT64 = 8,
611 STREAMBUF *d_streamBuf;
1113 operator const void *()
const;
1129template <
class STREAMBUF,
class TYPE>
1142template <
class STREAMBUF>
1150template <
class STREAMBUF>
1153: d_streamBuf(streamBuf)
1159template <
class STREAMBUF>
1166template <
class STREAMBUF>
1177 const int current = d_streamBuf->sgetc();
1178 if (STREAMBUF::traits_type::eof() != current) {
1180 if (127 < current) {
1185 length &= 0x7fffffff;
1199template <
class STREAMBUF>
1209 unsigned char tmp = 0;
1216template <
class STREAMBUF>
1220 d_validFlag =
false;
1225template <
class STREAMBUF>
1237 if (
sizeof variable > k_SIZEOF_INT64) {
1238 const int current = d_streamBuf->sgetc();
1240 STREAMBUF::traits_type::eof() == current)) {
1244 variable = 0x80 & current ? -1 : 0;
1247#ifdef BSLS_PLATFORM_IS_LITTLE_ENDIAN
1248 char *bytes =
reinterpret_cast<char *
>(&variable);
1249 char rawBytes[k_SIZEOF_INT64];
1250 if (k_SIZEOF_INT64 == d_streamBuf->sgetn(rawBytes, k_SIZEOF_INT64)) {
1252 bytes[7] = rawBytes[0];
1253 bytes[6] = rawBytes[1];
1254 bytes[5] = rawBytes[2];
1255 bytes[4] = rawBytes[3];
1256 bytes[3] = rawBytes[4];
1257 bytes[2] = rawBytes[5];
1258 bytes[1] = rawBytes[6];
1259 bytes[0] = rawBytes[7];
1263 reinterpret_cast<char *
>(&variable) +
sizeof variable - k_SIZEOF_INT64;
1264 if (k_SIZEOF_INT64 == d_streamBuf->sgetn(bytes, k_SIZEOF_INT64)) {
1272template <
class STREAMBUF>
1284 if (
sizeof variable > k_SIZEOF_INT64) {
1288#ifdef BSLS_PLATFORM_IS_LITTLE_ENDIAN
1289 char *bytes =
reinterpret_cast<char *
>(&variable);
1290 char rawBytes[k_SIZEOF_INT64];
1291 if (k_SIZEOF_INT64 == d_streamBuf->sgetn(rawBytes, k_SIZEOF_INT64)) {
1293 bytes[7] = rawBytes[0];
1294 bytes[6] = rawBytes[1];
1295 bytes[5] = rawBytes[2];
1296 bytes[4] = rawBytes[3];
1297 bytes[3] = rawBytes[4];
1298 bytes[2] = rawBytes[5];
1299 bytes[1] = rawBytes[6];
1300 bytes[0] = rawBytes[7];
1304 reinterpret_cast<char *
>(&variable) +
sizeof variable - k_SIZEOF_INT64;
1305 if (k_SIZEOF_INT64 == d_streamBuf->sgetn(bytes, k_SIZEOF_INT64)) {
1313template <
class STREAMBUF>
1325 const int current = d_streamBuf->sgetc();
1327 STREAMBUF::traits_type::eof() == current)) {
1331 variable = 0x80 & current ? -1 : 0;
1333#ifdef BSLS_PLATFORM_IS_LITTLE_ENDIAN
1334 char *bytes =
reinterpret_cast<char *
>(&variable);
1335 char rawBytes[k_SIZEOF_INT56];
1336 if (k_SIZEOF_INT56 == d_streamBuf->sgetn(rawBytes, k_SIZEOF_INT56)) {
1338 bytes[6] = rawBytes[0];
1339 bytes[5] = rawBytes[1];
1340 bytes[4] = rawBytes[2];
1341 bytes[3] = rawBytes[3];
1342 bytes[2] = rawBytes[4];
1343 bytes[1] = rawBytes[5];
1344 bytes[0] = rawBytes[6];
1348 reinterpret_cast<char *
>(&variable) +
sizeof variable - k_SIZEOF_INT56;
1349 if (k_SIZEOF_INT56 == d_streamBuf->sgetn(bytes, k_SIZEOF_INT56)) {
1357template <
class STREAMBUF>
1371#ifdef BSLS_PLATFORM_IS_LITTLE_ENDIAN
1372 char *bytes =
reinterpret_cast<char *
>(&variable);
1373 char rawBytes[k_SIZEOF_INT56];
1374 if (k_SIZEOF_INT56 == d_streamBuf->sgetn(rawBytes, k_SIZEOF_INT56)) {
1376 bytes[6] = rawBytes[0];
1377 bytes[5] = rawBytes[1];
1378 bytes[4] = rawBytes[2];
1379 bytes[3] = rawBytes[3];
1380 bytes[2] = rawBytes[4];
1381 bytes[1] = rawBytes[5];
1382 bytes[0] = rawBytes[6];
1386 reinterpret_cast<char *
>(&variable) +
sizeof variable - k_SIZEOF_INT56;
1387 if (k_SIZEOF_INT56 == d_streamBuf->sgetn(bytes, k_SIZEOF_INT56)) {
1395template <
class STREAMBUF>
1407 const int current = d_streamBuf->sgetc();
1409 STREAMBUF::traits_type::eof() == current)) {
1413 variable = 0x80 & current ? -1 : 0;
1415#ifdef BSLS_PLATFORM_IS_LITTLE_ENDIAN
1416 char *bytes =
reinterpret_cast<char *
>(&variable);
1417 char rawBytes[k_SIZEOF_INT48];
1418 if (k_SIZEOF_INT48 == d_streamBuf->sgetn(rawBytes, k_SIZEOF_INT48)) {
1420 bytes[5] = rawBytes[0];
1421 bytes[4] = rawBytes[1];
1422 bytes[3] = rawBytes[2];
1423 bytes[2] = rawBytes[3];
1424 bytes[1] = rawBytes[4];
1425 bytes[0] = rawBytes[5];
1429 reinterpret_cast<char *
>(&variable) +
sizeof variable - k_SIZEOF_INT48;
1430 if (k_SIZEOF_INT48 == d_streamBuf->sgetn(bytes, k_SIZEOF_INT48)) {
1438template <
class STREAMBUF>
1452#ifdef BSLS_PLATFORM_IS_LITTLE_ENDIAN
1453 char *bytes =
reinterpret_cast<char *
>(&variable);
1454 char rawBytes[k_SIZEOF_INT48];
1455 if (k_SIZEOF_INT48 == d_streamBuf->sgetn(rawBytes, k_SIZEOF_INT48)) {
1457 bytes[5] = rawBytes[0];
1458 bytes[4] = rawBytes[1];
1459 bytes[3] = rawBytes[2];
1460 bytes[2] = rawBytes[3];
1461 bytes[1] = rawBytes[4];
1462 bytes[0] = rawBytes[5];
1466 reinterpret_cast<char *
>(&variable) +
sizeof variable - k_SIZEOF_INT48;
1467 if (k_SIZEOF_INT48 == d_streamBuf->sgetn(bytes, k_SIZEOF_INT48)) {
1475template <
class STREAMBUF>
1487 const int current = d_streamBuf->sgetc();
1489 STREAMBUF::traits_type::eof() == current)) {
1493 variable = 0x80 & current ? -1 : 0;
1495#ifdef BSLS_PLATFORM_IS_LITTLE_ENDIAN
1496 char *bytes =
reinterpret_cast<char *
>(&variable);
1497 char rawBytes[k_SIZEOF_INT40];
1498 if (k_SIZEOF_INT40 == d_streamBuf->sgetn(rawBytes, k_SIZEOF_INT40)) {
1500 bytes[4] = rawBytes[0];
1501 bytes[3] = rawBytes[1];
1502 bytes[2] = rawBytes[2];
1503 bytes[1] = rawBytes[3];
1504 bytes[0] = rawBytes[4];
1508 reinterpret_cast<char *
>(&variable) +
sizeof variable - k_SIZEOF_INT40;
1509 if (k_SIZEOF_INT40 == d_streamBuf->sgetn(bytes, k_SIZEOF_INT40)) {
1517template <
class STREAMBUF>
1531#ifdef BSLS_PLATFORM_IS_LITTLE_ENDIAN
1532 char *bytes =
reinterpret_cast<char *
>(&variable);
1533 char rawBytes[k_SIZEOF_INT40];
1534 if (k_SIZEOF_INT40 == d_streamBuf->sgetn(rawBytes, k_SIZEOF_INT40)) {
1536 bytes[4] = rawBytes[0];
1537 bytes[3] = rawBytes[1];
1538 bytes[2] = rawBytes[2];
1539 bytes[1] = rawBytes[3];
1540 bytes[0] = rawBytes[4];
1544 reinterpret_cast<char *
>(&variable) +
sizeof variable - k_SIZEOF_INT40;
1545 if (k_SIZEOF_INT40 == d_streamBuf->sgetn(bytes, k_SIZEOF_INT40)) {
1553template <
class STREAMBUF>
1565 if (
sizeof variable > k_SIZEOF_INT32) {
1566 const int current = d_streamBuf->sgetc();
1568 STREAMBUF::traits_type::eof() == current)) {
1572 variable = 0x80 & current ? -1 : 0;
1575#ifdef BSLS_PLATFORM_IS_LITTLE_ENDIAN
1576 char *bytes =
reinterpret_cast<char *
>(&variable);
1577 char rawBytes[k_SIZEOF_INT32];
1578 if (k_SIZEOF_INT32 == d_streamBuf->sgetn(rawBytes, k_SIZEOF_INT32)) {
1580 bytes[3] = rawBytes[0];
1581 bytes[2] = rawBytes[1];
1582 bytes[1] = rawBytes[2];
1583 bytes[0] = rawBytes[3];
1587 reinterpret_cast<char *
>(&variable) +
sizeof variable - k_SIZEOF_INT32;
1588 if (k_SIZEOF_INT32 == d_streamBuf->sgetn(bytes, k_SIZEOF_INT32)) {
1596template <
class STREAMBUF>
1608 if (
sizeof variable > k_SIZEOF_INT32) {
1612#ifdef BSLS_PLATFORM_IS_LITTLE_ENDIAN
1613 char *bytes =
reinterpret_cast<char *
>(&variable);
1614 char rawBytes[k_SIZEOF_INT32];
1615 if (k_SIZEOF_INT32 == d_streamBuf->sgetn(rawBytes, k_SIZEOF_INT32)) {
1617 bytes[3] = rawBytes[0];
1618 bytes[2] = rawBytes[1];
1619 bytes[1] = rawBytes[2];
1620 bytes[0] = rawBytes[3];
1624 reinterpret_cast<char *
>(&variable) +
sizeof variable - k_SIZEOF_INT32;
1625 if (k_SIZEOF_INT32 == d_streamBuf->sgetn(bytes, k_SIZEOF_INT32)) {
1633template <
class STREAMBUF>
1645 const int current = d_streamBuf->sgetc();
1647 STREAMBUF::traits_type::eof() == current)) {
1651 variable = 0x80 & current ? -1 : 0;
1653#ifdef BSLS_PLATFORM_IS_LITTLE_ENDIAN
1654 char *bytes =
reinterpret_cast<char *
>(&variable);
1655 char rawBytes[k_SIZEOF_INT24];
1656 if (k_SIZEOF_INT24 == d_streamBuf->sgetn(rawBytes, k_SIZEOF_INT24)) {
1658 bytes[2] = rawBytes[0];
1659 bytes[1] = rawBytes[1];
1660 bytes[0] = rawBytes[2];
1664 reinterpret_cast<char *
>(&variable) +
sizeof variable - k_SIZEOF_INT24;
1665 if (k_SIZEOF_INT24 == d_streamBuf->sgetn(bytes, k_SIZEOF_INT24)) {
1673template <
class STREAMBUF>
1687#ifdef BSLS_PLATFORM_IS_LITTLE_ENDIAN
1688 char *bytes =
reinterpret_cast<char *
>(&variable);
1689 char rawBytes[k_SIZEOF_INT24];
1690 if (k_SIZEOF_INT24 == d_streamBuf->sgetn(rawBytes, k_SIZEOF_INT24)) {
1692 bytes[2] = rawBytes[0];
1693 bytes[1] = rawBytes[1];
1694 bytes[0] = rawBytes[2];
1698 reinterpret_cast<char *
>(&variable) +
sizeof variable - k_SIZEOF_INT24;
1699 if (k_SIZEOF_INT24 == d_streamBuf->sgetn(bytes, k_SIZEOF_INT24)) {
1707template <
class STREAMBUF>
1719 if (
sizeof variable > k_SIZEOF_INT16) {
1720 const int current = d_streamBuf->sgetc();
1722 STREAMBUF::traits_type::eof() == current)) {
1726 variable = 0x80 & current ? -1 : 0;
1729#ifdef BSLS_PLATFORM_IS_LITTLE_ENDIAN
1730 char *bytes =
reinterpret_cast<char *
>(&variable);
1731 char rawBytes[k_SIZEOF_INT16];
1732 if (k_SIZEOF_INT16 == d_streamBuf->sgetn(rawBytes, k_SIZEOF_INT16)) {
1734 bytes[1] = rawBytes[0];
1735 bytes[0] = rawBytes[1];
1739 reinterpret_cast<char *
>(&variable) +
sizeof variable - k_SIZEOF_INT16;
1740 if (k_SIZEOF_INT16 == d_streamBuf->sgetn(bytes, k_SIZEOF_INT16)) {
1748template <
class STREAMBUF>
1760 if (
sizeof variable > k_SIZEOF_INT16) {
1764#ifdef BSLS_PLATFORM_IS_LITTLE_ENDIAN
1765 char *bytes =
reinterpret_cast<char *
>(&variable);
1766 char rawBytes[k_SIZEOF_INT16];
1767 if (k_SIZEOF_INT16 == d_streamBuf->sgetn(rawBytes, k_SIZEOF_INT16)) {
1769 bytes[1] = rawBytes[0];
1770 bytes[0] = rawBytes[1];
1774 reinterpret_cast<char *
>(&variable) +
sizeof variable - k_SIZEOF_INT16;
1775 if (k_SIZEOF_INT16 == d_streamBuf->sgetn(bytes, k_SIZEOF_INT16)) {
1783template <
class STREAMBUF>
1795 const int current = d_streamBuf->sbumpc();
1796 if (STREAMBUF::traits_type::eof() != current) {
1798 variable =
static_cast<char>(current);
1804template <
class STREAMBUF>
1809 return getInt8(
reinterpret_cast<char&
>(variable));
1812template <
class STREAMBUF>
1817 return getInt8(variable);
1820template <
class STREAMBUF>
1825 return getInt8(
reinterpret_cast<char&
>(variable));
1830template <
class STREAMBUF>
1842 if (
sizeof variable > k_SIZEOF_FLOAT64) {
1846#ifdef BSLS_PLATFORM_IS_LITTLE_ENDIAN
1847 char *bytes =
reinterpret_cast<char *
>(&variable);
1848 char rawBytes[k_SIZEOF_FLOAT64];
1849 if (k_SIZEOF_FLOAT64 == d_streamBuf->sgetn(rawBytes, k_SIZEOF_FLOAT64)) {
1851 bytes[
sizeof variable - 1] = rawBytes[0];
1852 bytes[
sizeof variable - 2] = rawBytes[1];
1853 bytes[
sizeof variable - 3] = rawBytes[2];
1854 bytes[
sizeof variable - 4] = rawBytes[3];
1855 bytes[
sizeof variable - 5] = rawBytes[4];
1856 bytes[
sizeof variable - 6] = rawBytes[5];
1857 bytes[
sizeof variable - 7] = rawBytes[6];
1858 bytes[
sizeof variable - 8] = rawBytes[7];
1861 char *bytes =
reinterpret_cast<char *
>(&variable);
1862 if (k_SIZEOF_FLOAT64 == d_streamBuf->sgetn(bytes, k_SIZEOF_FLOAT64)) {
1870template <
class STREAMBUF>
1882 if (
sizeof variable > k_SIZEOF_FLOAT32) {
1886#ifdef BSLS_PLATFORM_IS_LITTLE_ENDIAN
1887 char *bytes =
reinterpret_cast<char *
>(&variable);
1888 char rawBytes[k_SIZEOF_FLOAT32];
1889 if (k_SIZEOF_FLOAT32 == d_streamBuf->sgetn(rawBytes, k_SIZEOF_FLOAT32)) {
1891 bytes[
sizeof variable - 1] = rawBytes[0];
1892 bytes[
sizeof variable - 2] = rawBytes[1];
1893 bytes[
sizeof variable - 3] = rawBytes[2];
1894 bytes[
sizeof variable - 4] = rawBytes[3];
1897 char *bytes =
reinterpret_cast<char *
>(&variable);
1898 if (k_SIZEOF_FLOAT32 == d_streamBuf->sgetn(bytes, k_SIZEOF_FLOAT32)) {
1908template <
class STREAMBUF>
1930 enum { k_INITIAL_ALLOCATION_SIZE = 16 * 1024 * 1024 };
1932 const int initialLength = length < k_INITIAL_ALLOCATION_SIZE
1934 : k_INITIAL_ALLOCATION_SIZE;
1936 variable.
resize(initialLength);
1942 getArrayUint8(&variable.
front(), initialLength);
1943 if (isValid() && length > initialLength) {
1945 getArrayUint8(&variable[initialLength], length - initialLength);
1953template <
class STREAMBUF>
1962 || 0 == numVariables)) {
1968 for (; variables != end; ++variables) {
1969 getInt64(*variables);
1975template <
class STREAMBUF>
1984 || 0 == numVariables)) {
1990 for (; variables != end; ++variables) {
1991 getUint64(*variables);
1997template <
class STREAMBUF>
2006 || 0 == numVariables)) {
2012 for (; variables != end; ++variables) {
2013 getInt56(*variables);
2019template <
class STREAMBUF>
2028 || 0 == numVariables)) {
2034 for (; variables != end; ++variables) {
2035 getUint56(*variables);
2041template <
class STREAMBUF>
2050 || 0 == numVariables)) {
2056 for (; variables != end; ++variables) {
2057 getInt48(*variables);
2063template <
class STREAMBUF>
2072 || 0 == numVariables)) {
2078 for (; variables != end; ++variables) {
2079 getUint48(*variables);
2085template <
class STREAMBUF>
2094 || 0 == numVariables)) {
2100 for (; variables != end; ++variables) {
2101 getInt40(*variables);
2107template <
class STREAMBUF>
2116 || 0 == numVariables)) {
2122 for (; variables != end; ++variables) {
2123 getUint40(*variables);
2129template <
class STREAMBUF>
2137 || 0 == numVariables)) {
2142 const int *end = variables + numVariables;
2143 for (; variables != end; ++variables) {
2144 getInt32(*variables);
2150template <
class STREAMBUF>
2159 || 0 == numVariables)) {
2164 const unsigned int *end = variables + numVariables;
2165 for (; variables != end; ++variables) {
2166 getUint32(*variables);
2172template <
class STREAMBUF>
2180 || 0 == numVariables)) {
2185 const int *end = variables + numVariables;
2186 for (; variables != end; ++variables) {
2187 getInt24(*variables);
2193template <
class STREAMBUF>
2202 || 0 == numVariables)) {
2207 const unsigned int *end = variables + numVariables;
2208 for (; variables != end; ++variables) {
2209 getUint24(*variables);
2215template <
class STREAMBUF>
2224 || 0 == numVariables)) {
2229 const short *end = variables + numVariables;
2230 for (; variables != end; ++variables) {
2231 getInt16(*variables);
2237template <
class STREAMBUF>
2246 || 0 == numVariables)) {
2251 const unsigned short *end = variables + numVariables;
2252 for (; variables != end; ++variables) {
2253 getUint16(*variables);
2259template <
class STREAMBUF>
2268 || 0 == numVariables)) {
2273 const char *end = variables + numVariables;
2274 for (; variables != end; ++variables) {
2275 getInt8(*variables);
2281template <
class STREAMBUF>
2290 return getArrayInt8(
reinterpret_cast<char *
>(variables), numVariables);
2293template <
class STREAMBUF>
2302 return getArrayInt8(variables, numVariables);
2305template <
class STREAMBUF>
2314 return getArrayInt8(
reinterpret_cast<char *
>(variables), numVariables);
2319template <
class STREAMBUF>
2328 || 0 == numVariables)) {
2333 const double *end = variables + numVariables;
2334 for (; variables != end; ++variables) {
2335 getFloat64(*variables);
2341template <
class STREAMBUF>
2350 || 0 == numVariables)) {
2355 const float *end = variables + numVariables;
2356 for (; variables != end; ++variables) {
2357 getFloat32(*variables);
2364template <
class STREAMBUF>
2368 return isValid() ? this : 0;
2371template <
class STREAMBUF>
2378template <
class STREAMBUF,
class TYPE>
Definition bslstl_string.h:1281
CHAR_TYPE & front()
Definition bslstl_string.h:5502
void resize(size_type newLength, CHAR_TYPE character)
Definition bslstl_string.h:5364
Definition bslx_genericinstream.h:590
GenericInStream & getInt16(short &variable)
Definition bslx_genericinstream.h:1710
GenericInStream & getArrayUint32(unsigned int *variables, int numVariables)
Definition bslx_genericinstream.h:2152
GenericInStream & getArrayInt40(bsls::Types::Int64 *variables, int numVariables)
Definition bslx_genericinstream.h:2087
GenericInStream & getInt8(char &variable)
Definition bslx_genericinstream.h:1786
GenericInStream & getArrayUint16(unsigned short *variables, int numVariables)
Definition bslx_genericinstream.h:2239
GenericInStream & getArrayInt56(bsls::Types::Int64 *variables, int numVariables)
Definition bslx_genericinstream.h:1999
GenericInStream & getUint16(unsigned short &variable)
Definition bslx_genericinstream.h:1751
~GenericInStream()
Destroy this object.
Definition bslx_genericinstream.h:1161
GenericInStream & getArrayFloat32(float *variables, int numVariables)
Definition bslx_genericinstream.h:2343
GenericInStream & getUint32(unsigned int &variable)
Definition bslx_genericinstream.h:1599
GenericInStream & getArrayInt32(int *variables, int numVariables)
Definition bslx_genericinstream.h:2131
GenericInStream & getInt48(bsls::Types::Int64 &variable)
Definition bslx_genericinstream.h:1398
GenericInStream & getArrayUint24(unsigned int *variables, int numVariables)
Definition bslx_genericinstream.h:2195
void invalidate()
Definition bslx_genericinstream.h:1218
GenericInStream & getFloat64(double &variable)
Definition bslx_genericinstream.h:1833
bool isValid() const
Definition bslx_genericinstream.h:2373
GenericInStream & getArrayFloat64(double *variables, int numVariables)
Definition bslx_genericinstream.h:2321
GenericInStream & getUint64(bsls::Types::Uint64 &variable)
Definition bslx_genericinstream.h:1275
GenericInStream & getInt32(int &variable)
Definition bslx_genericinstream.h:1556
GenericInStream & getArrayInt24(int *variables, int numVariables)
Definition bslx_genericinstream.h:2174
GenericInStream & getUint56(bsls::Types::Uint64 &variable)
Definition bslx_genericinstream.h:1360
GenericInStream & getInt56(bsls::Types::Int64 &variable)
Definition bslx_genericinstream.h:1316
GenericInStream & getUint24(unsigned int &variable)
Definition bslx_genericinstream.h:1676
GenericInStream & getArrayInt48(bsls::Types::Int64 *variables, int numVariables)
Definition bslx_genericinstream.h:2043
GenericInStream & getArrayUint48(bsls::Types::Uint64 *variables, int numVariables)
Definition bslx_genericinstream.h:2065
GenericInStream & getInt64(bsls::Types::Int64 &variable)
Definition bslx_genericinstream.h:1228
GenericInStream & getVersion(int &version)
Definition bslx_genericinstream.h:1202
GenericInStream & getUint8(char &variable)
Definition bslx_genericinstream.h:1815
GenericInStream & getArrayUint8(char *variables, int numVariables)
Definition bslx_genericinstream.h:2296
GenericInStream & getLength(int &length)
Definition bslx_genericinstream.h:1168
GenericInStream & getString(bsl::string &variable)
Definition bslx_genericinstream.h:1910
GenericInStream & getArrayInt16(short *variables, int numVariables)
Definition bslx_genericinstream.h:2217
GenericInStream & getFloat32(float &variable)
Definition bslx_genericinstream.h:1873
GenericInStream & getUint48(bsls::Types::Uint64 &variable)
Definition bslx_genericinstream.h:1441
GenericInStream & getArrayInt64(bsls::Types::Int64 *variables, int numVariables)
Definition bslx_genericinstream.h:1955
GenericInStream & getInt24(int &variable)
Definition bslx_genericinstream.h:1636
GenericInStream & getArrayUint40(bsls::Types::Uint64 *variables, int numVariables)
Definition bslx_genericinstream.h:2109
GenericInStream & getUint40(bsls::Types::Uint64 &variable)
Definition bslx_genericinstream.h:1520
GenericInStream & getArrayInt8(char *variables, int numVariables)
Definition bslx_genericinstream.h:2261
GenericInStream & getArrayUint56(bsls::Types::Uint64 *variables, int numVariables)
Definition bslx_genericinstream.h:2021
GenericInStream & getInt40(bsls::Types::Int64 &variable)
Definition bslx_genericinstream.h:1478
GenericInStream & getArrayUint64(bsls::Types::Uint64 *variables, int numVariables)
Definition bslx_genericinstream.h:1977
#define BSLS_ASSERT(X)
Definition bsls_assert.h:1804
#define BSLS_ASSERT_SAFE(X)
Definition bsls_assert.h:1762
#define BSLS_IDENT(str)
Definition bsls_ident.h:195
STREAM & bdexStreamIn(STREAM &stream, VALUE_TYPE &variable)
Definition bslx_instreamfunctions.h:1247
Definition bslx_byteinstream.h:377
ByteInStream & operator>>(ByteInStream &stream, TYPE &value)
Definition bslx_byteinstream.h:1986
unsigned long long Uint64
Definition bsls_types.h:137
long long Int64
Definition bsls_types.h:132