BDE 4.14.0 Production release
Loading...
Searching...
No Matches
bdld::DatumBinaryRef Class Reference

#include <bdld_datumbinaryref.h>

Public Types

typedef bsls::Types::size_type SizeType
 

Public Member Functions

 BSLMF_NESTED_TRAIT_DECLARATION (DatumBinaryRef, bsl::is_trivially_copyable)
 
 BSLMF_NESTED_TRAIT_DECLARATION (DatumBinaryRef, bdlb::HasPrintMethod)
 
 DatumBinaryRef ()
 Create a DatumBinaryRef object having zero data pointer and size.
 
 DatumBinaryRef (const void *data, SizeType size)
 
 DatumBinaryRef (const DatumBinaryRef &origin)=default
 
 ~DatumBinaryRef ()=default
 
DatumBinaryRefoperator= (const DatumBinaryRef &rhs)=default
 
const void * data () const
 Return the pointer to the non-modifiable binary data.
 
SizeType size () const
 Return the size of the binary data.
 
bsl::ostream & print (bsl::ostream &stream, int level=0, int spacesPerLevel=4) const
 

Detailed Description

This class provides a type to represent a pointer to non-modifiable binary data and an integral size value.

See bdld_datumbinaryref

Member Typedef Documentation

◆ SizeType

SizeType is an alias for an unsigned integral value, representing the length of the binary array.

Constructor & Destructor Documentation

◆ DatumBinaryRef() [1/3]

bdld::DatumBinaryRef::DatumBinaryRef ( )
inline

◆ DatumBinaryRef() [2/3]

bdld::DatumBinaryRef::DatumBinaryRef ( const void *  data,
SizeType  size 
)
inline

Create a DatumBinaryRef object having the specified data and size. The behavior is undefined unless 0 != data || 0 == size. Note that the memory pointed by data is never accessed by a DatumBinaryRef object.

◆ DatumBinaryRef() [3/3]

bdld::DatumBinaryRef::DatumBinaryRef ( const DatumBinaryRef origin)
default

◆ ~DatumBinaryRef()

bdld::DatumBinaryRef::~DatumBinaryRef ( )
default

Member Function Documentation

◆ BSLMF_NESTED_TRAIT_DECLARATION() [1/2]

bdld::DatumBinaryRef::BSLMF_NESTED_TRAIT_DECLARATION ( DatumBinaryRef  ,
bdlb::HasPrintMethod   
)

◆ BSLMF_NESTED_TRAIT_DECLARATION() [2/2]

bdld::DatumBinaryRef::BSLMF_NESTED_TRAIT_DECLARATION ( DatumBinaryRef  ,
bsl::is_trivially_copyable   
)

◆ data()

const void * bdld::DatumBinaryRef::data ( ) const
inline

◆ operator=()

DatumBinaryRef & bdld::DatumBinaryRef::operator= ( const DatumBinaryRef rhs)
default

◆ print()

bsl::ostream & bdld::DatumBinaryRef::print ( bsl::ostream &  stream,
int  level = 0,
int  spacesPerLevel = 4 
) const

Write the value of this object to the specified output stream in a human-readable format, and return a reference to the modifyable stream. Optionally specify an initial indentation level, whose absolute value is incremented recursively for nested objects. If level is specified, optionally specify spacesPerLevel, whose absolute value indicates the number of spaces per indentation level for this and all of its nested objects. If level is negative, suppress indentation of the first line. If spacesPerLevel is negative, format the entire output on one line, suppressing all but the initial indentation (as governed by level). If stream is not valid on entry, this operation has no effect. Note that this human-readable format is not fully specified, and can change without notice.

◆ size()

DatumBinaryRef::SizeType bdld::DatumBinaryRef::size ( ) const
inline

The documentation for this class was generated from the following file: