[CDRIVER-1542] Add BSON_ITER_HOLDS_NUMBER() & BSON_ITER_HOLDS_INT() Created: 13/Sep/16  Updated: 27/Apr/17  Resolved: 27/Apr/17

Status: Closed
Project: C Driver
Component/s: libbson
Affects Version/s: None
Fix Version/s: 1.7.0

Type: New Feature Priority: Major - P3
Reporter: Hannes Magnusson Assignee: Hannes Magnusson
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

int64_t batch_size = 0;
 
if (BSON_ITER_HOLDS_INT32 (&iter) || BSON_ITER_HOLDS_INT64 (&iter) || BSON_ITER_HOLDS_DOUBLE (&iter)) {
    value = bson_iter_as_int64 (&iter);
}

This is perfectly valid code, but is annoying to write bunch of times.

We should add two new macros:

  • BSON_ITER_HOLDS_NUMBER()
    • Checks int32, int64 & double
  • BSON_ITER_HOLDS_INT()
    • Checks for int32 & int64

We should probably also go and fix code to use these.



 Comments   
Comment by Githook User [ 27/Apr/17 ]

Author:

{u'username': u'bjori', u'name': u'Hannes Magnusson', u'email': u'bjori@php.net'}

Message: Merge branch 'CDRIVER-1542-simplify-holds-numbers'

Comment by Githook User [ 27/Apr/17 ]

Author:

{u'username': u'bjori', u'name': u'Hannes Magnusson', u'email': u'bjori@php.net'}

Message: Merge branch 'CDRIVER-1542-simplify-holds-numbers'

Comment by Githook User [ 27/Apr/17 ]

Author:

{u'username': u'bjori', u'name': u'Hannes Magnusson', u'email': u'bjori@php.net'}

Message: Merge branch 'CDRIVER-1542-simplify-holds-numbers'

Comment by Githook User [ 27/Apr/17 ]

Author:

{u'username': u'bjori', u'name': u'Hannes Magnusson', u'email': u'bjori@php.net'}

Message: Merge branch 'CDRIVER-1542-simplify-holds-numbers'

Comment by Githook User [ 27/Apr/17 ]

Author:

{u'username': u'bjori', u'name': u'Hannes Magnusson', u'email': u'bjori@php.net'}

Message: CDRIVER-1542 Simplify code using new HOLDS_INT macro
Branch: master
https://github.com/mongodb/mongo-c-driver/commit/00d7e99b0be3cf484294566e1f0461de38a88d6a

Comment by Githook User [ 27/Apr/17 ]

Author:

{u'username': u'bjori', u'name': u'Hannes Magnusson', u'email': u'bjori@php.net'}

Message: CDRIVER-1542 Simplify code using new HOLDS_NUMBER macro
Branch: master
https://github.com/mongodb/mongo-c-driver/commit/6557ebb6dea5ab7bc5250c481e7efd3fcb1396d4

Comment by Githook User [ 27/Apr/17 ]

Author:

{'username': 'bjori', 'email': 'bjori@php.net', 'name': 'Hannes Magnusson'}

Message: CDRIVER-1542 Add BSON_ITER_HOLDS_NUMBER() & BSON_ITER_HOLDS_INT()
Branch: master
https://github.com/mongodb/libbson/commit/6f3673588f0b52f8d44794485959bf8dec9035a9

Generated at Wed Feb 07 21:12:51 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.