MongoDB C++ Driver mongocxx-3.0.3
Loading...
Searching...
No Matches
Classes | Public Member Functions | List of all members
bsoncxx::oid Class Reference

Represents a MongoDB ObjectId. More...

#include <oid.hpp>

Classes

struct  init_tag_t
 

Public Member Functions

 oid ()
 Constructs an oid and initializes it to a newly generated ObjectId.
 
 oid (init_tag_t tag)
 Constructs an oid and initializes it to a newly generated ObjectId.
 
 oid (const char *bytes, std::size_t len)
 Constructs an oid initializes it to the contents of the provided buffer.
 
 oid (const bsoncxx::stdx::string_view &str)
 Constructs an oid and initializes it from the provided hex string.
 
std::string to_string () const
 Converts this oid to a hexadecimal string.
 
 operator bool () const
 Conversion operator that indicates that the oid is initialized.
 
std::time_t get_time_t () const
 Extracts the timestamp portion of the underlying ObjectId.
 
const char * bytes () const
 An accessor for the internal data buffer in the oid.
 

Detailed Description

Represents a MongoDB ObjectId.

As this BSON type is used within the MongoDB server as a primary key for each document, it is useful for representing a 'pointer' to another document.

Note
we use 'oid' to refer to this concrete class. We use 'ObjectId' to refer to the BSON type.
See also
http://docs.mongodb.org/manual/reference/object-id/

Constructor & Destructor Documentation

◆ oid() [1/3]

bsoncxx::oid::oid ( init_tag_t  tag)
explicit

Constructs an oid and initializes it to a newly generated ObjectId.

Deprecated:
This constructor for bsoncxx::oid is still supported but deprecated.
Parameters
tagA bsoncxx::oid::init_tag used to dispatch this overload.

◆ oid() [2/3]

bsoncxx::oid::oid ( const char *  bytes,
std::size_t  len 
)
explicit

Constructs an oid initializes it to the contents of the provided buffer.

Parameters
bytesA pointer a buffer containing a valid ObjectId.
lenThe length of the buffer. Should be 12.
Exceptions
bsoncxx::exceptionif the length is not 12.

◆ oid() [3/3]

bsoncxx::oid::oid ( const bsoncxx::stdx::string_view &  str)
explicit

Constructs an oid and initializes it from the provided hex string.

Parameters
strA string of a hexadecimal representation of a valid ObjectId.
Exceptions
bsoncxx::exceptionif the string isn't an OID-sized hex string.

Member Function Documentation

◆ bytes()

const char * bsoncxx::oid::bytes ( ) const

An accessor for the internal data buffer in the oid.

Returns
A pointer to the internal buffer holding the oid bytes.

◆ get_time_t()

std::time_t bsoncxx::oid::get_time_t ( ) const

Extracts the timestamp portion of the underlying ObjectId.

Returns
A std::time_t initialized to the timestamp.

◆ operator bool()

bsoncxx::oid::operator bool ( ) const
explicit

Conversion operator that indicates that the oid is initialized.

Deprecated:
Uninitialized oids can no longer be created so this function will always return True.
Returns
True

◆ to_string()

std::string bsoncxx::oid::to_string ( ) const

Converts this oid to a hexadecimal string.

Returns
A hexadecimal string representation of this ObjectId.

Friends And Related Symbol Documentation

◆ operator!=

bool operator!= ( const oid lhs,
const oid rhs 
)
friend

Relational operators for OIDs.

◆ operator<

bool operator< ( const oid lhs,
const oid rhs 
)
friend

Relational operators for OIDs.

◆ operator<=

bool operator<= ( const oid lhs,
const oid rhs 
)
friend

Relational operators for OIDs.

◆ operator==

bool operator== ( const oid lhs,
const oid rhs 
)
friend

Relational operators for OIDs.

◆ operator>

bool operator> ( const oid lhs,
const oid rhs 
)
friend

Relational operators for OIDs.

◆ operator>=

bool operator>= ( const oid lhs,
const oid rhs 
)
friend

Relational operators for OIDs.


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