8#ifndef INCLUDED_BSLX_BYTEOUTSTREAM
9#define INCLUDED_BSLX_BYTEOUTSTREAM
180#include <bslscm_version.h>
191#include <bsl_cstddef.h>
192#include <bsl_iosfwd.h>
193#include <bsl_string.h>
194#include <bsl_vector.h>
217 int d_versionSelector;
263 bsl::size_t initialCapacity,
644 operator const void *()
const;
655 const char *
data()
const;
663 bsl::size_t
length()
const;
691void ByteOutStream::validate()
698ByteOutStream::ByteOutStream(
int versionSelector,
700: d_buffer(basicAllocator)
701, d_versionSelector(versionSelector)
707ByteOutStream::ByteOutStream(
int versionSelector,
708 bsl::size_t initialCapacity,
710: d_buffer(basicAllocator)
711, d_versionSelector(versionSelector)
714 d_buffer.
reserve(initialCapacity);
774 const bsl::size_t n = d_buffer.
size();
803 const bsl::size_t n = d_buffer.
size();
832 const bsl::size_t n = d_buffer.
size();
861 const bsl::size_t n = d_buffer.
size();
890 const bsl::size_t n = d_buffer.
size();
905 return putInt32(
static_cast<int>(value));
919 const bsl::size_t n = d_buffer.
size();
934 return putInt24(
static_cast<int>(value));
948 const bsl::size_t n = d_buffer.
size();
963 return putInt16(
static_cast<int>(value));
977 const bsl::size_t n = d_buffer.
size();
992 return putInt8(
static_cast<int>(value));
1008 const bsl::size_t n = d_buffer.
size();
1031 const bsl::size_t n = d_buffer.
size();
1061 const bsl::size_t n = d_buffer.
size();
1089 const bsl::size_t n = d_buffer.
size();
1117 const bsl::size_t n = d_buffer.
size();
1145 const bsl::size_t n = d_buffer.
size();
1173 const bsl::size_t n = d_buffer.
size();
1201 const bsl::size_t n = d_buffer.
size();
1229 const bsl::size_t n = d_buffer.
size();
1257 const bsl::size_t n = d_buffer.
size();
1283 const bsl::size_t n = d_buffer.
size();
1310 const bsl::size_t n = d_buffer.
size();
1336 const bsl::size_t n = d_buffer.
size();
1363 const bsl::size_t n = d_buffer.
size();
1389 const bsl::size_t n = d_buffer.
size();
1416 const bsl::size_t n = d_buffer.
size();
1442 const bsl::size_t n = d_buffer.
size();
1469 const bsl::size_t n = d_buffer.
size();
1495 const bsl::size_t n = d_buffer.
size();
1522 const bsl::size_t n = d_buffer.
size();
1551 const bsl::size_t n = d_buffer.
size();
1578 const bsl::size_t n = d_buffer.
size();
1592ByteOutStream::operator
const void *()
const
1594 return isValid() ? this : 0;
1600 return d_versionSelector;
1606 return d_buffer.
begin();
1618 return d_buffer.
size();
1622template <
class TYPE>
Definition bslstl_string.h:1252
size_type size() const BSLS_KEYWORD_NOEXCEPT
Return the number of elements in this vector.
Definition bslstl_vector.h:3019
iterator begin() BSLS_KEYWORD_NOEXCEPT
Definition bslstl_vector.h:2866
VALUE_TYPE * data() BSLS_KEYWORD_NOEXCEPT
Definition bslstl_vector.h:2942
Definition bslstl_vector.h:1120
void reserve(size_type newCapacity)
Definition bslstl_vector.h:4263
void swap(vector &other) BSLS_KEYWORD_NOEXCEPT_SPECIFICATION(AllocatorTraits void clear() BSLS_KEYWORD_NOEXCEPT
Definition bslstl_vector.h:1938
void resize(size_type newSize)
Definition bslstl_vector.h:4189
Definition bslma_allocator.h:545
Definition bslx_byteoutstream.h:212
ByteOutStream & putUint8(unsigned int value)
Definition bslx_byteoutstream.h:990
ByteOutStream & putArrayInt56(const bsls::Types::Int64 *values, int numValues)
Definition bslx_byteoutstream.h:1102
ByteOutStream & putUint64(bsls::Types::Uint64 value)
Definition bslx_byteoutstream.h:787
ByteOutStream & putArrayUint8(const char *values, int numValues)
Definition bslx_byteoutstream.h:1482
ByteOutStream & putArrayInt8(const char *values, int numValues)
Definition bslx_byteoutstream.h:1429
ByteOutStream & putArrayUint32(const unsigned int *values, int numValues)
Definition bslx_byteoutstream.h:1296
ByteOutStream & putUint48(bsls::Types::Uint64 value)
Definition bslx_byteoutstream.h:845
ByteOutStream & putVersion(int version)
Definition bslx_byteoutstream.h:743
ByteOutStream & putUint40(bsls::Types::Uint64 value)
Definition bslx_byteoutstream.h:874
ByteOutStream & putInt24(int value)
Definition bslx_byteoutstream.h:909
ByteOutStream & putArrayInt16(const short *values, int numValues)
Definition bslx_byteoutstream.h:1376
~ByteOutStream()
Destroy this object.
Definition bslx_byteoutstream.h:718
void invalidate()
Definition bslx_byteoutstream.h:724
ByteOutStream & putArrayUint64(const bsls::Types::Uint64 *values, int numValues)
Definition bslx_byteoutstream.h:1074
ByteOutStream & putInt56(bsls::Types::Int64 value)
Definition bslx_byteoutstream.h:793
bool isValid() const
Definition bslx_byteoutstream.h:1610
ByteOutStream & putInt48(bsls::Types::Int64 value)
Definition bslx_byteoutstream.h:822
ByteOutStream & putInt8(int value)
Definition bslx_byteoutstream.h:967
ByteOutStream & putArrayUint40(const bsls::Types::Uint64 *values, int numValues)
Definition bslx_byteoutstream.h:1242
ByteOutStream & putArrayUint24(const unsigned int *values, int numValues)
Definition bslx_byteoutstream.h:1349
ByteOutStream & putArrayUint16(const unsigned short *values, int numValues)
Definition bslx_byteoutstream.h:1402
ByteOutStream & putArrayInt24(const int *values, int numValues)
Definition bslx_byteoutstream.h:1323
void reserveCapacity(bsl::size_t newCapacity)
Definition bslx_byteoutstream.h:749
ByteOutStream & putArrayInt32(const int *values, int numValues)
Definition bslx_byteoutstream.h:1270
ByteOutStream & putUint16(unsigned int value)
Definition bslx_byteoutstream.h:961
bsl::size_t length() const
Return the number of bytes in this stream.
Definition bslx_byteoutstream.h:1616
friend bsl::ostream & operator<<(bsl::ostream &, const ByteOutStream &)
ByteOutStream & putInt40(bsls::Types::Int64 value)
Definition bslx_byteoutstream.h:851
ByteOutStream & putArrayInt48(const bsls::Types::Int64 *values, int numValues)
Definition bslx_byteoutstream.h:1158
ByteOutStream & putArrayFloat32(const float *values, int numValues)
Definition bslx_byteoutstream.h:1564
ByteOutStream & putInt32(int value)
Definition bslx_byteoutstream.h:880
ByteOutStream & putLength(int length)
Definition bslx_byteoutstream.h:730
ByteOutStream & putString(const bsl::string &value)
ByteOutStream & putArrayUint56(const bsls::Types::Uint64 *values, int numValues)
Definition bslx_byteoutstream.h:1130
ByteOutStream & putFloat32(float value)
Definition bslx_byteoutstream.h:1021
const char * data() const
Definition bslx_byteoutstream.h:1604
ByteOutStream & putUint24(unsigned int value)
Definition bslx_byteoutstream.h:932
ByteOutStream & putUint32(unsigned int value)
Definition bslx_byteoutstream.h:903
ByteOutStream & putArrayUint48(const bsls::Types::Uint64 *values, int numValues)
Definition bslx_byteoutstream.h:1186
int bdexVersionSelector() const
Definition bslx_byteoutstream.h:1598
ByteOutStream & putArrayInt64(const bsls::Types::Int64 *values, int numValues)
Definition bslx_byteoutstream.h:1046
ByteOutStream & putInt16(int value)
Definition bslx_byteoutstream.h:938
ByteOutStream & putArrayFloat64(const double *values, int numValues)
Definition bslx_byteoutstream.h:1537
ByteOutStream & putUint56(bsls::Types::Uint64 value)
Definition bslx_byteoutstream.h:816
ByteOutStream & putArrayInt40(const bsls::Types::Int64 *values, int numValues)
Definition bslx_byteoutstream.h:1214
ByteOutStream & putInt64(bsls::Types::Int64 value)
Definition bslx_byteoutstream.h:764
void reset()
Definition bslx_byteoutstream.h:755
ByteOutStream & putFloat64(double value)
Definition bslx_byteoutstream.h:998
#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
Definition baljsn_encoder_testtypes.h:76
STREAM & bdexStreamOut(STREAM &stream, const TYPE &value)
Definition bslx_outstreamfunctions.h:1004
Definition bslx_byteinstream.h:377
bsl::ostream & operator<<(bsl::ostream &stream, const ByteInStream &object)
Definition bslma_usesbslmaallocator.h:344
unsigned long long Uint64
Definition bsls_types.h:139
long long Int64
Definition bsls_types.h:134
static void putArrayInt24(char *buffer, const int *values, int numValues)
static void putInt16(char *buffer, int value)
Definition bslx_marshallingutil.h:1045
static void putInt24(char *buffer, int value)
Definition bslx_marshallingutil.h:1029
static void putArrayInt48(char *buffer, const bsls::Types::Int64 *values, int numValues)
static void putArrayFloat64(char *buffer, const double *values, int numValues)
static void putArrayInt32(char *buffer, const int *values, int numValues)
static void putFloat64(char *buffer, double value)
Definition bslx_marshallingutil.h:1070
static void putArrayInt8(char *buffer, const char *values, int numValues)
Definition bslx_marshallingutil.h:1532
static void putArrayInt40(char *buffer, const bsls::Types::Int64 *values, int numValues)
@ k_SIZEOF_INT8
Definition bslx_marshallingutil.h:281
@ k_SIZEOF_INT48
Definition bslx_marshallingutil.h:276
@ k_SIZEOF_FLOAT64
Definition bslx_marshallingutil.h:282
@ k_SIZEOF_INT64
Definition bslx_marshallingutil.h:274
@ k_SIZEOF_INT24
Definition bslx_marshallingutil.h:279
@ k_SIZEOF_INT56
Definition bslx_marshallingutil.h:275
@ k_SIZEOF_INT16
Definition bslx_marshallingutil.h:280
@ k_SIZEOF_FLOAT32
Definition bslx_marshallingutil.h:283
@ k_SIZEOF_INT40
Definition bslx_marshallingutil.h:277
@ k_SIZEOF_INT32
Definition bslx_marshallingutil.h:278
static void putFloat32(char *buffer, float value)
Definition bslx_marshallingutil.h:1091
static void putInt8(char *buffer, int value)
Definition bslx_marshallingutil.h:1060
static void putArrayInt56(char *buffer, const bsls::Types::Int64 *values, int numValues)
static void putArrayInt64(char *buffer, const bsls::Types::Int64 *values, int numValues)
static void putInt64(char *buffer, bsls::Types::Int64 value)
Definition bslx_marshallingutil.h:934
static void putInt32(char *buffer, int value)
Definition bslx_marshallingutil.h:1012
static void putArrayInt16(char *buffer, const short *values, int numValues)
static void putArrayFloat32(char *buffer, const float *values, int numValues)
static void putInt56(char *buffer, bsls::Types::Int64 value)
Definition bslx_marshallingutil.h:955
static void putInt48(char *buffer, bsls::Types::Int64 value)
Definition bslx_marshallingutil.h:975
static void putInt40(char *buffer, bsls::Types::Int64 value)
Definition bslx_marshallingutil.h:994