BSON macro. More...
#include "bsonnoncopyable.h"Go to the source code of this file.
| Classes | |
| class | bson::BSONElementCmpWithoutField | 
| class | bson::BSONObjCmp | 
| struct | bson::GENOIDLabeler | 
| Utility class to auto assign object IDs.  More... | |
| struct | bson::DateNowLabeler | 
| struct | bson::MinKeyLabeler | 
| struct | bson::MaxKeyLabeler | 
| class | bson::Labeler | 
| struct | bson::Labeler::Label | 
| class | bson::BSONObjBuilderValueStream | 
| class | bson::BSONSizeTracker | 
| used in conjuction with BSONObjBuilder, allows for proper buffer size to prevent crazy memory usage  More... | |
| Namespaces | |
| namespace | bson | 
| Include files for C++ BSON module. | |
| Macros | |
| #define | BSON(x) (( bson::BSONObjBuilder(64) << x ).obj()) | 
| Use BSON macro to build a BSONObj from a stream. | |
| #define | BSON_ARRAY(x) (( bson::BSONArrayBuilder() << x ).arr()) | 
| Use BSON_ARRAY macro like BSON macro, but without keys. | |
| Typedefs | |
| typedef set< BSONObj, BSONObjCmp > | bson::BSONObjSet | 
| Enumerations | |
| enum | FieldCompareResult { LEFT_SUBFIELD = -2, LEFT_BEFORE = -1, SAME = 0, RIGHT_BEFORE = 1, RIGHT_SUBFIELD = 2 } | 
| Variables | |
| struct bson::GENOIDLabeler | bson::GENOID | 
| struct bson::DateNowLabeler | bson::DATENOW | 
| struct bson::MinKeyLabeler | bson::MINKEY | 
| struct bson::MaxKeyLabeler | bson::MAXKEY | 
| Labeler::Label | bson::GT | 
| Labeler::Label | bson::GTE | 
| Labeler::Label | bson::LT | 
| Labeler::Label | bson::LTE | 
| Labeler::Label | bson::NE | 
| Labeler::Label | bson::SIZE | 
BSON macro.
| #define BSON | ( | x | ) | (( bson::BSONObjBuilder(64) << x ).obj()) | 
Use BSON macro to build a BSONObj from a stream.
e.g., BSON( "name" << "joe" << "age" << 33 )
with auto-generated object id: BSON( GENOID << "name" << "joe" << "age" << 33 )
The labels GT, GTE, LT, LTE, NE can be helpful for stream-oriented construction of a BSONObj, particularly when assembling a Query. For example, BSON( "a" << GT << 23.4 << NE << 30 << "b" << 2 ) produces the object { a: { $gt: 23.4, $ne: 30 }, b: 2 }.
| #define BSON_ARRAY | ( | x | ) | (( bson::BSONArrayBuilder() << x ).arr()) | 
Use BSON_ARRAY macro like BSON macro, but without keys.
BSONArray arr = BSON_ARRAY( "hello" << 1 << BSON( "foo" << BSON_ARRAY( "bar" << "baz" << "qux" ) ) );
 1.8.2
 1.8.2