Library: MongoDB
Package: MongoDB
Header: Poco/MongoDB/Binary.h
Description
Implements BSON Binary.
A Binary stores its data in a Poco::Buffer<unsigned char>.
Member Summary
Member Functions: buffer, subtype, toRawString, toString, uuid
Types Aliases
Ptr
using Ptr = SharedPtr < Binary >;
BSON Binary subtypes
Enumerations
Subtype
SUBTYPE_GENERIC = 0x00
Generic binary data
SUBTYPE_FUNCTION = 0x01
Function
SUBTYPE_BINARY_OLD = 0x02
Binary (Old)
SUBTYPE_UUID_OLD = 0x03
UUID (Old)
SUBTYPE_UUID = 0x04
SUBTYPE_MD5 = 0x05
MD5
SUBTYPE_ENCRYPTED = 0x06
Encrypted BSON value
SUBTYPE_USER_DEFINED = 0x80
User defined (start of range)
Constructors
Binary
Binary();
Creates an empty Binary with subtype 0.
Binary
Binary
Binary(
Poco::Int32 size,
unsigned char subtype
);
Creates a Binary with a buffer of the given size and the given subtype.
Binary
Binary(
const char * data,
unsigned char subtype = 0
);
Creates a Binary with the contents of the given C-string and the given subtype.
Binary
Binary(
const std::string & data,
unsigned char subtype = 0
);
Creates a Binary with the contents of the given string and the given subtype.
Binary
Binary(
const void * data,
Poco::Int32 size,
unsigned char subtype
);
Creates a Binary with the contents of the given buffer and the given subtype.
Destructor
~Binary
virtual ~Binary();
Destroys the Binary.
Member Functions
buffer
const Buffer < unsigned char > & buffer() const;
Returns a reference to the internal buffer
buffer
Buffer < unsigned char > & buffer();
Returns a reference to the internal buffer
subtype
[[nodiscard]]
unsigned char subtype() const;
Returns the subtype.
subtype
void subtype(
unsigned char type
);
Sets the subtype.
toRawString
[[nodiscard]]
std::string toRawString() const;
Returns the raw content of the Binary as a string.
toString
[[nodiscard]]
std::string toString(
int indent = 0
) const;
Returns the contents of the Binary as a string. For UUID subtype (SUBTYPE_UUID), returns a formatted UUID string wrapped in UUID() (e.g., UUID("550e8400-e29b-41d4-a716-446655440000")). For other subtypes, returns Base64-encoded data.
uuid
[[nodiscard]]
UUID uuid() const;
Returns the UUID when the binary subtype is 0x04. Otherwise, throws a Poco::BadCastException.