本文整理汇总了C++中bson_append函数的典型用法代码示例。如果您正苦于以下问题:C++ bson_append函数的具体用法?C++ bson_append怎么用?C++ bson_append使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了bson_append函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: bson_append_regex
bson_buffer * bson_append_regex( bson_buffer * b , const char * name , const char * pattern, const char * opts ){
const int plen = strlen(pattern)+1;
const int olen = strlen(opts)+1;
if ( ! bson_append_estart( b , bson_regex , name , plen + olen ) ) return 0;
bson_append( b , pattern , plen );
bson_append( b , opts , olen );
return b;
}
开发者ID:ericfode,项目名称:mongo-c-driver,代码行数:8,代码来源:bson.c
示例2: bson_append_string_base
bson_buffer * bson_append_string_base( bson_buffer * b , const char * name , const char * value , int len , bson_type type){
int sl = len + 1;
if ( ! bson_append_estart( b , type , name , 4 + sl ) ) return 0;
if ( ! bson_check_string( b, value, sl - 1 ) ) return 0;
bson_append32( b , &sl);
bson_append( b , value , sl - 1 );
bson_append( b , "\0" , 1 );
return b;
}
开发者ID:alex-python,项目名称:restpose,代码行数:9,代码来源:bson.c
示例3: bson_append_code_w_scope
bson_buffer * bson_append_code_w_scope( bson_buffer * b , const char * name , const char * code , const bson * scope){
int sl = strlen(code) + 1;
int size = 4 + 4 + sl + bson_size(scope);
if (!bson_append_estart(b, bson_codewscope, name, size)) return 0;
bson_append32(b, &size);
bson_append32(b, &sl);
bson_append(b, code, sl);
bson_append(b, scope->data, bson_size(scope));
return b;
}
开发者ID:ericfode,项目名称:mongo-c-driver,代码行数:10,代码来源:bson.c
示例4: bson_append_regex
int bson_append_regex( bson *b, const char *name, const char *pattern, const char *opts ) {
const int plen = strlen( pattern )+1;
const int olen = strlen( opts )+1;
if ( bson_append_estart( b, BSON_REGEX, name, plen + olen ) == BSON_ERROR )
return BSON_ERROR;
if ( bson_check_string( b, pattern, plen - 1 ) == BSON_ERROR )
return BSON_ERROR;
bson_append( b , pattern , plen );
bson_append( b , opts , olen );
return BSON_OK;
}
开发者ID:halayudha,项目名称:kdengine,代码行数:11,代码来源:bson.c
示例5: bson_append_regex
MONGO_EXPORT int bson_append_regex( bson *b, const char *name, const char *pattern, const char *opts ) {
const size_t plen = strlen( pattern )+1;
const size_t olen = strlen( opts )+1;
check_mongo_object( (void*)b );
if ( bson_append_estart( b, BSON_REGEX, name, plen + olen ) == BSON_ERROR )
return BSON_ERROR;
if ( bson_check_string( b, pattern, plen - 1 ) == BSON_ERROR )
return BSON_ERROR;
bson_append( b , pattern , plen );
bson_append( b , opts , olen );
return BSON_OK;
}
开发者ID:emrah83,项目名称:mongo-c-driver,代码行数:12,代码来源:bson.c
示例6: bson_append_code_w_scope_n
int bson_append_code_w_scope_n( bson *b, const char *name,
const char *code, int len, const bson *scope ) {
int sl = len + 1;
int size = 4 + 4 + sl + bson_size( scope );
if ( bson_append_estart( b, BSON_CODEWSCOPE, name, size ) == BSON_ERROR )
return BSON_ERROR;
bson_append32( b, &size );
bson_append32( b, &sl );
bson_append( b, code, sl );
bson_append( b, scope->data, bson_size( scope ) );
return BSON_OK;
}
开发者ID:halayudha,项目名称:kdengine,代码行数:13,代码来源:bson.c
示例7: bson_append_string_base
int bson_append_string_base( bson *b, const char *name,
const char *value, int len, bson_type type ) {
int sl = len + 1;
if ( bson_check_string( b, ( const char * )value, sl - 1 ) == BSON_ERROR )
return BSON_ERROR;
if ( bson_append_estart( b, type, name, 4 + sl ) == BSON_ERROR ) {
return BSON_ERROR;
}
bson_append32( b , &sl );
bson_append( b , value , sl - 1 );
bson_append( b , "\0" , 1 );
return BSON_OK;
}
开发者ID:halayudha,项目名称:kdengine,代码行数:14,代码来源:bson.c
示例8: bson_append_binary
bson_buffer * bson_append_binary( bson_buffer * b, const char * name, char type, const char * str, int len ){
if ( type == 2 ){
int subtwolen = len + 4;
if ( ! bson_append_estart( b , bson_bindata , name , 4+1+4+len ) ) return 0;
bson_append32(b, &subtwolen);
bson_append_byte(b, type);
bson_append32(b, &len);
bson_append(b, str, len);
}else{
if ( ! bson_append_estart( b , bson_bindata , name , 4+1+len ) ) return 0;
bson_append32(b, &len);
bson_append_byte(b, type);
bson_append(b, str, len);
}
return b;
}
开发者ID:alex-python,项目名称:restpose,代码行数:16,代码来源:bson.c
示例9: bson_append_binary
bson_buffer * bson_append_binary( bson_buffer * b, const char * name, char type, const char * str, int len ){
if ( ! bson_append_estart( b , bson_bindata , name , 4+1+len ) ) return 0;
bson_append32(b, &len);
bson_append_byte(b, type);
bson_append(b, str, len);
return b;
}
开发者ID:ericfode,项目名称:mongo-c-driver,代码行数:7,代码来源:bson.c
示例10: bson_append_bson
MONGO_EXPORT int bson_append_bson( bson *b, const char *name, const bson *bson ) {
if ( !bson ) return BSON_ERROR;
if ( bson_append_estart( b, BSON_OBJECT, name, bson_size( bson ) ) == BSON_ERROR )
return BSON_ERROR;
bson_append( b , bson->data , bson_size( bson ) );
return BSON_OK;
}
开发者ID:dardevelin,项目名称:mongo-c-driver,代码行数:7,代码来源:bson.c
示例11: bson_append_string_base
bson_buffer * bson_append_string_base( bson_buffer * b , const char * name , const char * value , bson_type type){
int sl = strlen( value ) + 1;
if ( ! bson_append_estart( b , type , name , 4 + sl ) ) return 0;
bson_append32( b , &sl);
bson_append( b , value , sl );
return b;
}
开发者ID:ericfode,项目名称:mongo-c-driver,代码行数:7,代码来源:bson.c
示例12: bson_append_oid
MONGO_EXPORT int bson_append_oid( bson *b, const char *name, const bson_oid_t *oid ) {
check_mongo_object( (void*)b );
if ( bson_append_estart( b, BSON_OID, name, 12 ) == BSON_ERROR )
return BSON_ERROR;
bson_append( b , oid , 12 );
return BSON_OK;
}
开发者ID:emrah83,项目名称:mongo-c-driver,代码行数:7,代码来源:bson.c
示例13: bson_append_estart
static bson_buffer * bson_append_estart( bson_buffer * b , int type , const char * name , const int dataSize ){
const int sl = strlen(name) + 1;
if ( ! bson_ensure_space( b , 1 + sl + dataSize ) )
return 0;
bson_append_byte( b , (char)type );
bson_append( b , name , sl );
return b;
}
开发者ID:ericfode,项目名称:mongo-c-driver,代码行数:8,代码来源:bson.c
示例14: bson_append_element
bson_buffer * bson_append_element( bson_buffer * b, const char * name_or_null, const bson_iterator* elem){
bson_iterator next = *elem;
int size;
bson_iterator_next(&next);
size = next.cur - elem->cur;
if (name_or_null == NULL){
bson_ensure_space(b, size);
bson_append(b, elem->cur, size);
}else{
int data_size = size - 2 - strlen(bson_iterator_key(elem));
bson_append_estart(b, elem->cur[0], name_or_null, data_size);
bson_append(b, bson_iterator_value(elem), data_size);
}
return b;
}
开发者ID:alex-python,项目名称:restpose,代码行数:18,代码来源:bson.c
示例15: bson_append_bson
MONGO_EXPORT int bson_append_bson( bson *b, const char *name, const bson *bson ) {
if ( !bson ) return BSON_ERROR;
check_mongo_object( (void*)b );
check_mongo_object( (void*)bson );
if ( bson_append_estart( b, BSON_OBJECT, name, bson_size( bson ) ) == BSON_ERROR )
return BSON_ERROR;
bson_append( b , bson->data , bson_size( bson ) );
return BSON_OK;
}
开发者ID:emrah83,项目名称:mongo-c-driver,代码行数:9,代码来源:bson.c
示例16: bson_append_binary
int bson_append_binary( bson *b, const char *name, char type, const char *str, int len ) {
if ( type == BSON_BIN_BINARY_OLD ) {
int subtwolen = len + 4;
if ( bson_append_estart( b, BSON_BINDATA, name, 4+1+4+len ) == BSON_ERROR )
return BSON_ERROR;
bson_append32( b, &subtwolen );
bson_append_byte( b, type );
bson_append32( b, &len );
bson_append( b, str, len );
} else {
if ( bson_append_estart( b, BSON_BINDATA, name, 4+1+len ) == BSON_ERROR )
return BSON_ERROR;
bson_append32( b, &len );
bson_append_byte( b, type );
bson_append( b, str, len );
}
return BSON_OK;
}
开发者ID:halayudha,项目名称:kdengine,代码行数:18,代码来源:bson.c
示例17: bson_append_string_base
static int bson_append_string_base( bson *b, const char *name,
const char *value, size_t len, bson_type type ) {
size_t sl = len + 1;
if ( sl > INT32_MAX ) {
b->err = BSON_SIZE_OVERFLOW;
/* string too long */
return BSON_ERROR;
}
if ( bson_check_string( b, ( const char * )value, sl - 1 ) == BSON_ERROR )
return BSON_ERROR;
if ( bson_append_estart( b, type, name, 4 + sl ) == BSON_ERROR ) {
return BSON_ERROR;
}
bson_append32_as_int( b , ( int )sl );
bson_append( b , value , sl - 1 );
bson_append( b , "\0" , 1 );
return BSON_OK;
}
开发者ID:dardevelin,项目名称:mongo-c-driver,代码行数:19,代码来源:bson.c
示例18: bson_append_binary
MONGO_EXPORT int bson_append_binary( bson *b, const char *name, char type, const char *str, size_t len ) {
if ( type == BSON_BIN_BINARY_OLD ) {
size_t subtwolen = len + 4;
if ( bson_append_estart( b, BSON_BINDATA, name, 4+1+4+len ) == BSON_ERROR )
return BSON_ERROR;
bson_append32_as_int( b, ( int )subtwolen );
bson_append_byte( b, type );
bson_append32_as_int( b, ( int )len );
bson_append( b, str, len );
}
else {
if ( bson_append_estart( b, BSON_BINDATA, name, 4+1+len ) == BSON_ERROR )
return BSON_ERROR;
bson_append32_as_int( b, ( int )len );
bson_append_byte( b, type );
bson_append( b, str, len );
}
return BSON_OK;
}
开发者ID:dardevelin,项目名称:mongo-c-driver,代码行数:19,代码来源:bson.c
示例19: bson_append_code_w_scope_n
MONGO_EXPORT int bson_append_code_w_scope_n( bson *b, const char *name,
const char *code, size_t len, const bson *scope ) {
size_t sl, size;
if ( !scope ) return BSON_ERROR;
sl = len + 1;
size = 4 + 4 + sl + bson_size( scope );
if ( size > (size_t)INT32_MAX ) {
b->err = BSON_SIZE_OVERFLOW;
return BSON_ERROR;
}
if ( bson_append_estart( b, BSON_CODEWSCOPE, name, size ) == BSON_ERROR )
return BSON_ERROR;
bson_append32_as_int( b, ( int )size );
bson_append32( b, &sl );
bson_append( b, code, sl );
bson_append( b, scope->data, bson_size( scope ) );
return BSON_OK;
}
开发者ID:dardevelin,项目名称:mongo-c-driver,代码行数:19,代码来源:bson.c
示例20: bson_append_element
MONGO_EXPORT int bson_append_element( bson *b, const char *name_or_null, const bson_iterator *elem ) {
bson_iterator next = *elem;
size_t size;
bson_iterator_next( &next );
size = next.cur - elem->cur;
if ( name_or_null == NULL ) {
if( bson_ensure_space( b, size ) == BSON_ERROR )
return BSON_ERROR;
bson_append( b, elem->cur, size );
}
else {
size_t data_size = size - 2 - strlen( bson_iterator_key( elem ) );
bson_append_estart( b, elem->cur[0], name_or_null, data_size );
bson_append( b, bson_iterator_value( elem ), data_size );
}
return BSON_OK;
}
开发者ID:dardevelin,项目名称:mongo-c-driver,代码行数:20,代码来源:bson.c
注:本文中的bson_append函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论