--- /srv/reproducible-results/rbuild-debian/r-b-build.BI8UmZ13/b1/mongo-cxx-driver_3.10.1-1_amd64.changes +++ /srv/reproducible-results/rbuild-debian/r-b-build.BI8UmZ13/b2/mongo-cxx-driver_3.10.1-1_amd64.changes ├── Files │ @@ -1,8 +1,8 @@ │ │ 0e7f2edfcfa6abf4e7aa844dbed09f3f 51188 libdevel optional libbsoncxx-dev_3.10.1-1_amd64.deb │ b52c804256dc0396228e9804f4443a04 658336 debug optional libbsoncxx-noabi-dbgsym_3.10.1-1_amd64.deb │ 9e6bb70a8558d3b83f21ef44bb203622 48744 libs optional libbsoncxx-noabi_3.10.1-1_amd64.deb │ c669882dc8da7f7ca5ff116107ad805a 76472 libdevel optional libmongocxx-dev_3.10.1-1_amd64.deb │ - 3b1ad6964ba9911b30b27f2b2d033ab1 590164 doc optional libmongocxx-doc_3.10.1-1_all.deb │ + 27fed568dd2c95c24fc63881ed25cc0e 589768 doc optional libmongocxx-doc_3.10.1-1_all.deb │ 398796c89e96892d81f7babd7fbbebb7 8031396 debug optional libmongocxx-noabi-dbgsym_3.10.1-1_amd64.deb │ 476da646f5e43197e3e480fb9f4b2f55 200168 libs optional libmongocxx-noabi_3.10.1-1_amd64.deb ├── libmongocxx-doc_3.10.1-1_all.deb │ ├── file list │ │ @@ -1,3 +1,3 @@ │ │ -rw-r--r-- 0 0 0 4 2024-03-13 22:01:46.000000 debian-binary │ │ --rw-r--r-- 0 0 0 21648 2024-03-13 22:01:46.000000 control.tar.xz │ │ --rw-r--r-- 0 0 0 568324 2024-03-13 22:01:46.000000 data.tar.xz │ │ +-rw-r--r-- 0 0 0 21644 2024-03-13 22:01:46.000000 control.tar.xz │ │ +-rw-r--r-- 0 0 0 567932 2024-03-13 22:01:46.000000 data.tar.xz │ ├── control.tar.xz │ │ ├── control.tar │ │ │ ├── ./control │ │ │ │ @@ -1,13 +1,13 @@ │ │ │ │ Package: libmongocxx-doc │ │ │ │ Source: mongo-cxx-driver │ │ │ │ Version: 3.10.1-1 │ │ │ │ Architecture: all │ │ │ │ Maintainer: Mongo C++ Driver Team │ │ │ │ -Installed-Size: 12661 │ │ │ │ +Installed-Size: 12651 │ │ │ │ Section: doc │ │ │ │ Priority: optional │ │ │ │ Homepage: https://mongocxx.org/ │ │ │ │ Description: MongoDB C++ client library - documentation │ │ │ │ libmongocxx is the officially supported MongoDB client library for C++ │ │ │ │ applications. │ │ │ │ . │ │ │ ├── ./md5sums │ │ │ │ ├── ./md5sums │ │ │ │ │┄ Files differ │ │ ├── xz --list │ │ │ @@ -1,13 +1,13 @@ │ │ │ Streams: 1 │ │ │ Blocks: 1 │ │ │ - Compressed size: 21.1 KiB (21648 B) │ │ │ + Compressed size: 21.1 KiB (21644 B) │ │ │ Uncompressed size: 110.0 KiB (112640 B) │ │ │ Ratio: 0.192 │ │ │ Check: CRC64 │ │ │ Stream Padding: 0 B │ │ │ Streams: │ │ │ Stream Blocks CompOffset UncompOffset CompSize UncompSize Ratio Check Padding │ │ │ - 1 1 0 0 21648 112640 0.192 CRC64 0 │ │ │ + 1 1 0 0 21644 112640 0.192 CRC64 0 │ │ │ Blocks: │ │ │ Stream Block CompOffset UncompOffset TotalSize UncompSize Ratio Check │ │ │ - 1 1 12 0 21612 112640 0.192 CRC64 │ │ │ + 1 1 12 0 21608 112640 0.192 CRC64 │ ├── data.tar.xz │ │ ├── data.tar │ │ │ ├── file list │ │ │ │ @@ -93,15 +93,15 @@ │ │ │ │ -rw-r--r-- 0 root (0) root (0) 22862 2024-03-13 22:01:46.000000 ./usr/share/doc/libmongocxx-dev/api/current/classbsoncxx_1_1v__noabi_1_1builder_1_1stream_1_1value__context.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 6386 2024-03-13 22:01:46.000000 ./usr/share/doc/libmongocxx-dev/api/current/classbsoncxx_1_1v__noabi_1_1decimal128-members.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 12602 2024-03-13 22:01:46.000000 ./usr/share/doc/libmongocxx-dev/api/current/classbsoncxx_1_1v__noabi_1_1decimal128.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 16075 2024-03-13 22:01:46.000000 ./usr/share/doc/libmongocxx-dev/api/current/classbsoncxx_1_1v__noabi_1_1document_1_1element-members.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 70661 2024-03-13 22:01:46.000000 ./usr/share/doc/libmongocxx-dev/api/current/classbsoncxx_1_1v__noabi_1_1document_1_1element.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 790 2024-03-13 22:01:46.000000 ./usr/share/doc/libmongocxx-dev/api/current/classbsoncxx_1_1v__noabi_1_1document_1_1element.png │ │ │ │ -rw-r--r-- 0 root (0) root (0) 10675 2024-03-13 22:01:46.000000 ./usr/share/doc/libmongocxx-dev/api/current/classbsoncxx_1_1v__noabi_1_1document_1_1value-members.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 42828 2024-03-13 22:01:46.000000 ./usr/share/doc/libmongocxx-dev/api/current/classbsoncxx_1_1v__noabi_1_1document_1_1value.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 38868 2024-03-13 22:01:46.000000 ./usr/share/doc/libmongocxx-dev/api/current/classbsoncxx_1_1v__noabi_1_1document_1_1value.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 8054 2024-03-13 22:01:46.000000 ./usr/share/doc/libmongocxx-dev/api/current/classbsoncxx_1_1v__noabi_1_1document_1_1view-members.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 23728 2024-03-13 22:01:46.000000 ./usr/share/doc/libmongocxx-dev/api/current/classbsoncxx_1_1v__noabi_1_1document_1_1view.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 5106 2024-03-13 22:01:46.000000 ./usr/share/doc/libmongocxx-dev/api/current/classbsoncxx_1_1v__noabi_1_1document_1_1view_1_1const__iterator-members.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 5483 2024-03-13 22:01:46.000000 ./usr/share/doc/libmongocxx-dev/api/current/classbsoncxx_1_1v__noabi_1_1document_1_1view_1_1const__iterator.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 4817 2024-03-13 22:01:46.000000 ./usr/share/doc/libmongocxx-dev/api/current/classbsoncxx_1_1v__noabi_1_1exception.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 670 2024-03-13 22:01:46.000000 ./usr/share/doc/libmongocxx-dev/api/current/classbsoncxx_1_1v__noabi_1_1exception.png │ │ │ │ -rw-r--r-- 0 root (0) root (0) 7728 2024-03-13 22:01:46.000000 ./usr/share/doc/libmongocxx-dev/api/current/classbsoncxx_1_1v__noabi_1_1oid-members.html │ │ │ │ @@ -399,15 +399,15 @@ │ │ │ │ -rw-r--r-- 0 root (0) root (0) 9725 2024-03-13 22:01:46.000000 ./usr/share/doc/libmongocxx-dev/api/current/distinct-fwd_8hpp_source.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 21614 2024-03-13 22:01:46.000000 ./usr/share/doc/libmongocxx-dev/api/current/distinct_8hpp_source.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 1503 2024-03-13 22:01:46.000000 ./usr/share/doc/libmongocxx-dev/api/current/doc.svg │ │ │ │ -rw-r--r-- 0 root (0) root (0) 1503 2024-03-13 22:01:46.000000 ./usr/share/doc/libmongocxx-dev/api/current/docd.svg │ │ │ │ -rw-r--r-- 0 root (0) root (0) 9705 2024-03-13 22:01:46.000000 ./usr/share/doc/libmongocxx-dev/api/current/document_2element-fwd_8hpp_source.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 61242 2024-03-13 22:01:46.000000 ./usr/share/doc/libmongocxx-dev/api/current/document_2element_8hpp_source.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 9697 2024-03-13 22:01:46.000000 ./usr/share/doc/libmongocxx-dev/api/current/document_2value-fwd_8hpp_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 46162 2024-03-13 22:01:46.000000 ./usr/share/doc/libmongocxx-dev/api/current/document_2value_8hpp_source.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 40830 2024-03-13 22:01:46.000000 ./usr/share/doc/libmongocxx-dev/api/current/document_2value_8hpp_source.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 9693 2024-03-13 22:01:46.000000 ./usr/share/doc/libmongocxx-dev/api/current/document_2view-fwd_8hpp_source.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 32275 2024-03-13 22:01:46.000000 ./usr/share/doc/libmongocxx-dev/api/current/document_2view_8hpp_source.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 10776 2024-03-13 22:01:46.000000 ./usr/share/doc/libmongocxx-dev/api/current/document_2view__or__value_8hpp_source.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 10211 2024-03-13 22:01:46.000000 ./usr/share/doc/libmongocxx-dev/api/current/downloader-fwd_8hpp_source.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 28112 2024-03-13 22:01:46.000000 ./usr/share/doc/libmongocxx-dev/api/current/downloader_8hpp_source.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 87 2024-03-13 22:01:46.000000 ./usr/share/doc/libmongocxx-dev/api/current/doxygen-extra.css │ │ │ │ -rw-r--r-- 0 root (0) root (0) 45148 2024-03-13 22:01:46.000000 ./usr/share/doc/libmongocxx-dev/api/current/doxygen.css │ │ │ ├── ./usr/share/doc/libmongocxx-dev/api/current/classbsoncxx_1_1v__noabi_1_1document_1_1value.html │ │ │ │ @@ -84,69 +84,69 @@ │ │ │ │

A read-only BSON document that owns its underlying buffer. │ │ │ │ More...

│ │ │ │ │ │ │ │

#include <value.hpp>

│ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ - │ │ │ │ + │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ + │ │ │ │ │ │ │ │ - │ │ │ │ + │ │ │ │ │ │ │ │ - │ │ │ │ + │ │ │ │ │ │ │ │ - │ │ │ │ + │ │ │ │ │ │ │ │ - │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +document::view  │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │

│ │ │ │ Public Member Functions

 value (std::uint8_t *data, std::size_t length, deleter_type dtor)
 value (std::uint8_t *data, std::size_t length, deleter_type dtor)
 Constructs a value from a buffer.
 
 value (unique_ptr_type ptr, std::size_t length)
 value (unique_ptr_type ptr, std::size_t length)
 Constructs a value from a std::unique_ptr to a buffer.
 
 value (document::view view)
 Constructs a value from a view of a document.
 
template<typename T , detail::requires_not_t< int, std::is_same< T, array::view > > = 0>
 value (const T &t)
template<typename T , detail::requires_not_t< int, std::is_same< T, array::view > > = 0>
 value (const T &t)
 Constructor used for serialization of user objects.
 
document::view::const_iterator cbegin () const
document::view::const_iterator cbegin () const
 
document::view::const_iterator cend () const
document::view::const_iterator cend () const
 
document::view::const_iterator begin () const
document::view::const_iterator begin () const
 
document::view::const_iterator end () const
document::view::const_iterator end () const
 
document::view::const_iterator find (stdx::string_view key) const
document::view::const_iterator find (stdx::string_view key) const
 Finds the first element of the document with the provided key.
 
element operator[] (stdx::string_view key) const
element operator[] (stdx::string_view key) const
 Finds the first element of the document with the provided key.
 
const std::uint8_t * data () const
const std::uint8_t * data () const
 Access the raw bytes of the underlying document.
 
std::size_t length () const
std::size_t length () const
 Gets the length of the underlying buffer.
 
bool empty () const
bool empty () const
 Checks if the underlying document is empty, i.e.
 
│ │ │ │ -document::view view () const noexcept
view () const noexcept
 Get a view over the document owned by this value.
 
 operator document::view () const noexcept
 operator document::view () const noexcept
 Conversion operator that provides a view given a value.
 
template<typename T >
get ()
 Constructs an object of type T from this document object.
 
template<typename T >
void get (T &t)
 Constructs an object of type T from this document object.
 
unique_ptr_type release ()
 Transfer ownership of the underlying buffer to the caller.
 
void reset (document::view view)
void reset (document::view view)
 Replace the formerly-owned buffer with the new view.
 
│ │ │ │

Detailed Description

│ │ │ │

A read-only BSON document that owns its underlying buffer.

│ │ │ │

When a document::value goes out of scope, the underlying buffer is freed. Generally this class should be used sparingly; document::view should be used instead wherever possible.

│ │ │ │

Constructor & Destructor Documentation

│ │ │ │ @@ -270,23 +270,23 @@ │ │ │ │ │ │ │ │ │ │ │ │

◆ value() [4/4]

│ │ │ │ │ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │ -template<typename T , detail::requires_not_t< int, std::is_same< T, array::view > > = 0>
│ │ │ │ +template<typename T , detail::requires_not_t< int, std::is_same< T, array::view > > = 0>
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ @@ -363,15 +363,15 @@ │ │ │ │ │ │ │ │

◆ data()

│ │ │ │ │ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
bsoncxx::v_noabi::document::value::value (const Tconst T & t)
│ │ │ │
│ │ │ │ inlineexplicit
│ │ │ │ │ │ │ │ - │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
const std::uint8_t * bsoncxx::v_noabi::document::value::data const std::uint8_t * bsoncxx::v_noabi::document::value::data () const
│ │ │ │
│ │ │ │ │ │ │ │ @@ -383,15 +383,15 @@ │ │ │ │ │ │ │ │

◆ empty()

│ │ │ │ │ │ │ │
│ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
bool bsoncxx::v_noabi::document::value::empty bool bsoncxx::v_noabi::document::value::empty () const
│ │ │ │
│ │ │ │ │ │ │ │ @@ -543,15 +543,15 @@ │ │ │ │
│ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
bsoncxx::v_noabi::document::value::operator document::view bsoncxx::v_noabi::document::value::operator document::view () const
│ │ │ │
│ │ │ │ @@ -568,15 +568,15 @@ │ │ │ │ │ │ │ │

◆ operator[]()

│ │ │ │ │ │ │ │
│ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
element bsoncxx::v_noabi::document::value::operator[] element bsoncxx::v_noabi::document::value::operator[] (stdx::string_view key) const
│ │ │ │
│ │ │ │ @@ -617,15 +617,15 @@ │ │ │ │ │ │ │ │

◆ reset()

│ │ │ │ │ │ │ │
│ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
void bsoncxx::v_noabi::document::value::reset void bsoncxx::v_noabi::document::value::reset (document::view view)
│ │ │ │
│ │ │ │ ├── html2text {} │ │ │ │ │ @@ -8,62 +8,62 @@ │ │ │ │ │ * _v_a_l_u_e │ │ │ │ │ _P_u_b_l_i_c_ _M_e_m_b_e_r_ _F_u_n_c_t_i_o_n_s | _L_i_s_t_ _o_f_ _a_l_l_ _m_e_m_b_e_r_s │ │ │ │ │ bsoncxx::v_noabi::document::value Class Reference │ │ │ │ │ A read-only BSON document that owns its underlying buffer. _M_o_r_e_._._. │ │ │ │ │ #include <_v_a_l_u_e_._h_p_p> │ │ │ │ │ PPuubblliicc MMeemmbbeerr FFuunnccttiioonnss │ │ │ │ │   _v_a_l_u_e (std::uint8_t *_d_a_t_a, std::size_t _l_e_n_g_t_h, │ │ │ │ │ - deleter_type _d_t_o_r) │ │ │ │ │ + deleter_type dtor) │ │ │ │ │   Constructs a value from a buffer. │ │ │ │ │   │ │ │ │ │ -   _v_a_l_u_e (unique_ptr_type _p_t_r, std::size_t _l_e_n_g_t_h) │ │ │ │ │ +   _v_a_l_u_e (unique_ptr_type ptr, std::size_t _l_e_n_g_t_h) │ │ │ │ │   Constructs a value from a std::unique_ptr to a │ │ │ │ │ buffer. │ │ │ │ │   │ │ │ │ │   _v_a_l_u_e (_d_o_c_u_m_e_n_t_:_:_v_i_e_w _v_i_e_w) │ │ │ │ │   Constructs a value from a view of a document. │ │ │ │ │   │ │ │ │ │ -template<_t_y_p_e_n_a_m_e _T , detail::requires_not_t< _i_n_t, std::is_same< _T, _a_r_r_a_y_:_:_v_i_e_w │ │ │ │ │ +template > = 0> │ │ │ │ │ -   _v_a_l_u_e (_c_o_n_s_t _T &_t) │ │ │ │ │ +   _v_a_l_u_e (const T &t) │ │ │ │ │   Constructor used for serialization of user │ │ │ │ │ objects. │ │ │ │ │   │ │ │ │ │ -_d_o_c_u_m_e_n_t_:_:_v_i_e_w_:_:_c_o_n_s_t___i_t_e_r_a_t_o_r  _c_b_e_g_i_n () _c_o_n_s_t │ │ │ │ │ +_d_o_c_u_m_e_n_t_:_:_v_i_e_w_:_:_c_o_n_s_t___i_t_e_r_a_t_o_r  _c_b_e_g_i_n () const │ │ │ │ │   │ │ │ │ │ -_d_o_c_u_m_e_n_t_:_:_v_i_e_w_:_:_c_o_n_s_t___i_t_e_r_a_t_o_r  _c_e_n_d () _c_o_n_s_t │ │ │ │ │ +_d_o_c_u_m_e_n_t_:_:_v_i_e_w_:_:_c_o_n_s_t___i_t_e_r_a_t_o_r  _c_e_n_d () const │ │ │ │ │   │ │ │ │ │ -_d_o_c_u_m_e_n_t_:_:_v_i_e_w_:_:_c_o_n_s_t___i_t_e_r_a_t_o_r  _b_e_g_i_n () _c_o_n_s_t │ │ │ │ │ +_d_o_c_u_m_e_n_t_:_:_v_i_e_w_:_:_c_o_n_s_t___i_t_e_r_a_t_o_r  _b_e_g_i_n () const │ │ │ │ │   │ │ │ │ │ -_d_o_c_u_m_e_n_t_:_:_v_i_e_w_:_:_c_o_n_s_t___i_t_e_r_a_t_o_r  _e_n_d () _c_o_n_s_t │ │ │ │ │ +_d_o_c_u_m_e_n_t_:_:_v_i_e_w_:_:_c_o_n_s_t___i_t_e_r_a_t_o_r  _e_n_d () const │ │ │ │ │   │ │ │ │ │ -_d_o_c_u_m_e_n_t_:_:_v_i_e_w_:_:_c_o_n_s_t___i_t_e_r_a_t_o_r  _f_i_n_d (stdx::string_view key) _c_o_n_s_t │ │ │ │ │ +_d_o_c_u_m_e_n_t_:_:_v_i_e_w_:_:_c_o_n_s_t___i_t_e_r_a_t_o_r  _f_i_n_d (stdx::string_view key) const │ │ │ │ │   Finds the first element of the document with │ │ │ │ │ the provided key. │ │ │ │ │   │ │ │ │ │ - _e_l_e_m_e_n_t  _o_p_e_r_a_t_o_r_[_] (stdx::string_view key) _c_o_n_s_t │ │ │ │ │ + _e_l_e_m_e_n_t  _o_p_e_r_a_t_o_r_[_] (stdx::string_view key) const │ │ │ │ │   Finds the first element of the document with │ │ │ │ │ the provided key. │ │ │ │ │   │ │ │ │ │ - _c_o_n_s_t std::uint8_t *  _d_a_t_a () _c_o_n_s_t │ │ │ │ │ + const std::uint8_t *  _d_a_t_a () const │ │ │ │ │   Access the raw bytes of the underlying │ │ │ │ │ document. │ │ │ │ │   │ │ │ │ │ - std::size_t  _l_e_n_g_t_h () _c_o_n_s_t │ │ │ │ │ + std::size_t  _l_e_n_g_t_h () const │ │ │ │ │   Gets the length of the underlying buffer. │ │ │ │ │   │ │ │ │ │ - _b_o_o_l  _e_m_p_t_y () _c_o_n_s_t │ │ │ │ │ + bool  _e_m_p_t_y () const │ │ │ │ │   Checks if the underlying document is empty, │ │ │ │ │ i.e. │ │ │ │ │   │ │ │ │ │ - _d_o_c_u_m_e_n_t_:_:_v_i_e_w  vviieeww () _c_o_n_s_t _n_o_e_x_c_e_p_t │ │ │ │ │ + _d_o_c_u_m_e_n_t_:_:_v_i_e_w  vviieeww () const noexcept │ │ │ │ │   Get a view over the document owned by this │ │ │ │ │ value. │ │ │ │ │   │ │ │ │ │ -   _o_p_e_r_a_t_o_r_ _d_o_c_u_m_e_n_t_:_:_v_i_e_w () _c_o_n_s_t _n_o_e_x_c_e_p_t │ │ │ │ │ +   _o_p_e_r_a_t_o_r_ _d_o_c_u_m_e_n_t_:_:_v_i_e_w () const noexcept │ │ │ │ │   Conversion operator that provides a view given │ │ │ │ │ a value. │ │ │ │ │   │ │ │ │ │ template │ │ │ │ │ T  _g_e_t () │ │ │ │ │   Constructs an object of type T from this │ │ │ │ │ document object. │ │ │ │ │ @@ -73,15 +73,15 @@ │ │ │ │ │   Constructs an object of type T from this │ │ │ │ │ document object. │ │ │ │ │   │ │ │ │ │ unique_ptr_type  _r_e_l_e_a_s_e () │ │ │ │ │   Transfer ownership of the underlying buffer to │ │ │ │ │ the caller. │ │ │ │ │   │ │ │ │ │ - _v_o_i_d  _r_e_s_e_t (_d_o_c_u_m_e_n_t_:_:_v_i_e_w _v_i_e_w) │ │ │ │ │ + void  _r_e_s_e_t (_d_o_c_u_m_e_n_t_:_:_v_i_e_w _v_i_e_w) │ │ │ │ │   Replace the formerly-owned buffer with the new │ │ │ │ │ view. │ │ │ │ │   │ │ │ │ │ ********** DDeettaaiilleedd DDeessccrriippttiioonn ********** │ │ │ │ │ A read-only BSON document that owns its underlying buffer. │ │ │ │ │ When a _d_o_c_u_m_e_n_t_:_:_v_a_l_u_e goes out of scope, the underlying buffer is freed. │ │ │ │ │ Generally this class should be used sparingly; _d_o_c_u_m_e_n_t_:_:_v_i_e_w should be used │ │ │ │ │ @@ -113,17 +113,17 @@ │ │ │ │ │ value │ │ │ │ │ Constructs a value from a view of a document. │ │ │ │ │ The data referenced by the _d_o_c_u_m_e_n_t_:_:_v_i_e_w will be copied into a new buffer │ │ │ │ │ managed by the constructed value. │ │ │ │ │ Parameters │ │ │ │ │ view A view of another document to copy. │ │ │ │ │ ********** _?◆_? vvaalluuee(()) [[44//44]] ********** │ │ │ │ │ -template<_t_y_p_e_n_a_m_e _T , detail::requires_not_t< _i_n_t, std::is_same< _T, _a_r_r_a_y_:_:_v_i_e_w │ │ │ │ │ +template > = 0> │ │ │ │ │ -bsoncxx::v_noabi::document::value:: ( _c_o_n_s_t _T &  tt ) inlineexplicit │ │ │ │ │ +bsoncxx::v_noabi::document::value:: ( const T &  tt ) inlineexplicit │ │ │ │ │ value │ │ │ │ │ Constructor used for serialization of user objects. │ │ │ │ │ This uses argument-dependent lookup to find the function declaration void │ │ │ │ │ to_bson(T& t, _b_s_o_n_c_x_x_:_:_v___n_o_a_b_i_:_:_d_o_c_u_m_e_n_t_:_:_v_a_l_u_e doc). │ │ │ │ │ Parameters │ │ │ │ │ t A user-defined object to serialize into a BSON object. │ │ │ │ │ ********** MMeemmbbeerr FFuunnccttiioonn DDooccuummeennttaattiioonn ********** │ │ │ │ │ @@ -139,20 +139,20 @@ │ │ │ │ │ A const_iterator to the first element of the document. │ │ │ │ │ ********** _?◆_? cceenndd(()) ********** │ │ │ │ │ _d_o_c_u_m_e_n_t_:_:_v_i_e_w_:_:_c_o_n_s_t___i_t_e_r_a_t_o_r bsoncxx::v_noabi::document::value:: ( ) const │ │ │ │ │ cend │ │ │ │ │ Returns │ │ │ │ │ A const_iterator to the past-the-end element of the document. │ │ │ │ │ ********** _?◆_? ddaattaa(()) ********** │ │ │ │ │ -_c_o_n_s_t std::uint8_t * bsoncxx::v_noabi::document::value::data ( ) const │ │ │ │ │ +const std::uint8_t * bsoncxx::v_noabi::document::value::data ( ) const │ │ │ │ │ Access the raw bytes of the underlying document. │ │ │ │ │ Returns │ │ │ │ │ A pointer to the value's buffer. │ │ │ │ │ ********** _?◆_? eemmppttyy(()) ********** │ │ │ │ │ -_b_o_o_l bsoncxx::v_noabi::document::value::empty ( ) const │ │ │ │ │ +bool bsoncxx::v_noabi::document::value::empty ( ) const │ │ │ │ │ Checks if the underlying document is empty, i.e. │ │ │ │ │ it is equivalent to the trivial document '{}'. │ │ │ │ │ Returns │ │ │ │ │ true if the underlying document is empty. │ │ │ │ │ ********** _?◆_? eenndd(()) ********** │ │ │ │ │ _d_o_c_u_m_e_n_t_:_:_v_i_e_w_:_:_c_o_n_s_t___i_t_e_r_a_t_o_r bsoncxx::v_noabi::document::value:: ( ) const │ │ │ │ │ end │ │ │ │ │ @@ -198,21 +198,21 @@ │ │ │ │ │ Gets the length of the underlying buffer. │ │ │ │ │ Remarks │ │ │ │ │ This is not the number of elements in the document. To compute the number │ │ │ │ │ of elements, use std::distance. │ │ │ │ │ Returns │ │ │ │ │ The length of the document, in bytes. │ │ │ │ │ ********** _?◆_? ooppeerraattoorr ddooccuummeenntt::::vviieeww(()) ********** │ │ │ │ │ -_b_s_o_n_c_x_x_:_:_v___n_o_a_b_i_:_:_d_o_c_u_m_e_n_t_:_:_v_a_l_u_e_:_:_o_p_e_r_a_t_o_r _d_o_c_u_m_e_n_t_:_:_v_i_e_w ( ) const noexcept │ │ │ │ │ +bsoncxx::v_noabi::document::value::operator _d_o_c_u_m_e_n_t_:_:_v_i_e_w ( ) const noexcept │ │ │ │ │ Conversion operator that provides a view given a value. │ │ │ │ │ Returns │ │ │ │ │ A view over the value. │ │ │ │ │ ********** _?◆_? ooppeerraattoorr[[]](()) ********** │ │ │ │ │ -_e_l_e_m_e_n_t _b_s_o_n_c_x_x_:_:_v___n_o_a_b_i_:_:_d_o_c_u_m_e_n_t_:_:_v_a_l_u_e_:_: ( stdx::string_view  kkeeyy ) const │ │ │ │ │ -_o_p_e_r_a_t_o_r[] │ │ │ │ │ +_e_l_e_m_e_n_t bsoncxx::v_noabi::document::value:: ( stdx::string_view  kkeeyy ) const │ │ │ │ │ +operator[] │ │ │ │ │ Finds the first element of the document with the provided key. │ │ │ │ │ If there is no such element, the invalid _d_o_c_u_m_e_n_t_:_:_e_l_e_m_e_n_t will be returned. │ │ │ │ │ The runtime of operator[] is linear in the length of the document. │ │ │ │ │ Parameters │ │ │ │ │ key The key to search for. │ │ │ │ │ Returns │ │ │ │ │ The matching element, if found, or the invalid element. │ │ │ │ │ @@ -221,15 +221,15 @@ │ │ │ │ │ Transfer ownership of the underlying buffer to the caller. │ │ │ │ │ Warning │ │ │ │ │ After calling _r_e_l_e_a_s_e_(_) it is illegal to call any methods on this class, │ │ │ │ │ unless it is subsequently moved into. │ │ │ │ │ Returns │ │ │ │ │ A std::unique_ptr with ownership of the buffer. │ │ │ │ │ ********** _?◆_? rreesseett(()) ********** │ │ │ │ │ -_v_o_i_d bsoncxx::v_noabi::document::value::reset ( _d_o_c_u_m_e_n_t_:_:_v_i_e_w  vviieeww ) │ │ │ │ │ +void bsoncxx::v_noabi::document::value::reset ( _d_o_c_u_m_e_n_t_:_:_v_i_e_w  vviieeww ) │ │ │ │ │ Replace the formerly-owned buffer with the new view. │ │ │ │ │ This will make a copy of the passed-in view. │ │ │ │ │ =============================================================================== │ │ │ │ │ The documentation for this class was generated from the following file: │ │ │ │ │ * src/bsoncxx/include/bsoncxx/v_noabi/bsoncxx/document/_v_a_l_u_e_._h_p_p │ │ │ │ │ =============================================================================== │ │ │ │ │ Generated by _[_d_o_x_y_g_e_n_] 1.9.8 │ │ │ ├── ./usr/share/doc/libmongocxx-dev/api/current/document_2value_8hpp_source.html │ │ │ │ @@ -113,38 +113,38 @@ │ │ │ │
29namespace bsoncxx {
│ │ │ │
30namespace v_noabi {
│ │ │ │
31namespace document {
│ │ │ │
32
│ │ │ │
│ │ │ │
38class value {
│ │ │ │
39 public:
│ │ │ │ -
40 using deleter_type = void (*)(std::uint8_t*);
│ │ │ │ +
40 using deleter_type = void (*)(std::uint8_t*);
│ │ │ │
41 using unique_ptr_type = std::unique_ptr<uint8_t[], deleter_type>;
│ │ │ │
42
│ │ │ │ -
55 value(std::uint8_t* data, std::size_t length, deleter_type dtor);
│ │ │ │ +
55 value(std::uint8_t* data, std::size_t length, deleter_type dtor);
│ │ │ │
56
│ │ │ │ -
66 value(unique_ptr_type ptr, std::size_t length);
│ │ │ │ +
66 value(unique_ptr_type ptr, std::size_t length);
│ │ │ │
67
│ │ │ │ │ │ │ │
77
│ │ │ │
78 value(const value&);
│ │ │ │
79 value& operator=(const value&);
│ │ │ │
80
│ │ │ │ - │ │ │ │ - │ │ │ │ +
81 value(value&&) noexcept = default;
│ │ │ │ +
82 value& operator=(value&&) noexcept = default;
│ │ │ │
83
│ │ │ │ -
92 template <typename T, detail::requires_not_t<int, std::is_same<T, array::view>> = 0>
│ │ │ │ +
92 template <typename T, detail::requires_not_t<int, std::is_same<T, array::view>> = 0>
│ │ │ │
│ │ │ │ - │ │ │ │ -
94 to_bson(t, *this);
│ │ │ │ +
93 explicit value(const T& t) : value({}) {
│ │ │ │ +
94 to_bson(t, *this);
│ │ │ │
95 }
│ │ │ │
│ │ │ │
96 template <typename T>
│ │ │ │ -
97 value& operator=(const T& t) {
│ │ │ │ -
98 *this = value{t};
│ │ │ │ +
97 value& operator=(const T& t) {
│ │ │ │ +
98 *this = value{t};
│ │ │ │
99 return *this;
│ │ │ │
100 }
│ │ │ │
101
│ │ │ │ │ │ │ │
106
│ │ │ │ │ │ │ │
111
│ │ │ │ @@ -158,31 +158,31 @@ │ │ │ │
150
│ │ │ │
156 const std::uint8_t* data() const;
│ │ │ │
157
│ │ │ │
166 std::size_t length() const;
│ │ │ │
167
│ │ │ │
174 bool empty() const;
│ │ │ │
175
│ │ │ │ -
179 BSONCXX_INLINE document::view view() const noexcept;
│ │ │ │ +
179 BSONCXX_INLINE document::view view() const noexcept;
│ │ │ │
180
│ │ │ │ -
186 BSONCXX_INLINE operator document::view() const noexcept;
│ │ │ │ +
186 BSONCXX_INLINE operator document::view() const noexcept;
│ │ │ │
187
│ │ │ │ - │ │ │ │ +
195 template <typename T>
│ │ │ │
│ │ │ │ -
196 T get() {
│ │ │ │ -
197 T temp{};
│ │ │ │ -
198 from_bson(temp, this->view());
│ │ │ │ -
199 return temp;
│ │ │ │ +
196 T get() {
│ │ │ │ +
197 T temp{};
│ │ │ │ +
198 from_bson(temp, this->view());
│ │ │ │ +
199 return temp;
│ │ │ │
200 }
│ │ │ │
│ │ │ │
201
│ │ │ │
211 template <typename T>
│ │ │ │
│ │ │ │ -
212 void get(T& t) {
│ │ │ │ -
213 from_bson(t, this->view());
│ │ │ │ +
212 void get(T& t) {
│ │ │ │ +
213 from_bson(t, this->view());
│ │ │ │
214 }
│ │ │ │
│ │ │ │
215
│ │ │ │
225 unique_ptr_type release();
│ │ │ │
226
│ │ │ │ │ │ │ │
232
│ │ │ │ @@ -192,22 +192,22 @@ │ │ │ │
236};
│ │ │ │
│ │ │ │
237
│ │ │ │
│ │ │ │
238BSONCXX_INLINE document::view value::view() const noexcept {
│ │ │ │
239 // Silence false positive with g++ 10.2.1 on Debian 11.
│ │ │ │
240 BSONCXX_PUSH_WARNINGS();
│ │ │ │ -
241 BSONCXX_DISABLE_WARNING(GCC("-Wmaybe-uninitialized"));
│ │ │ │ -
242 return document::view{static_cast<uint8_t*>(_data.get()), _length};
│ │ │ │ +
241 BSONCXX_DISABLE_WARNING(GCC("-Wmaybe-uninitialized"));
│ │ │ │ +
242 return document::view{static_cast<uint8_t*>(_data.get()), _length};
│ │ │ │
243 BSONCXX_POP_WARNINGS();
│ │ │ │
244}
│ │ │ │
│ │ │ │
245
│ │ │ │
│ │ │ │ -
246BSONCXX_INLINE value::operator document::view() const noexcept {
│ │ │ │ +
246BSONCXX_INLINE value::operator document::view() const noexcept {
│ │ │ │
247 return view();
│ │ │ │
248}
│ │ │ │
│ │ │ │
249
│ │ │ │
│ │ │ │
257BSONCXX_INLINE bool operator==(const value& lhs, const value& rhs) {
│ │ │ │
258 return (lhs.view() == rhs.view());
│ │ │ │ ├── html2text {} │ │ │ │ │ @@ -40,37 +40,37 @@ │ │ │ │ │ 28 │ │ │ │ │ 29namespace _b_s_o_n_c_x_x { │ │ │ │ │ 30namespace v_noabi { │ │ │ │ │ 31namespace document { │ │ │ │ │ 32 │ │ │ │ │ _3_8class _v_a_l_u_e { │ │ │ │ │ 39 public: │ │ │ │ │ -40 using deleter_type = _v_o_i_d (*)(std::uint8_t*); │ │ │ │ │ +40 using deleter_type = void (*)(std::uint8_t*); │ │ │ │ │ 41 using unique_ptr_type = std::unique_ptr; │ │ │ │ │ 42 │ │ │ │ │ -_5_5 _v_a_l_u_e(std::uint8_t* _d_a_t_a, std::size_t _l_e_n_g_t_h, deleter_type _d_t_o_r); │ │ │ │ │ +_5_5 _v_a_l_u_e(std::uint8_t* _d_a_t_a, std::size_t _l_e_n_g_t_h, deleter_type dtor); │ │ │ │ │ 56 │ │ │ │ │ -_6_6 _v_a_l_u_e(unique_ptr_type _p_t_r, std::size_t _l_e_n_g_t_h); │ │ │ │ │ +_6_6 _v_a_l_u_e(unique_ptr_type ptr, std::size_t _l_e_n_g_t_h); │ │ │ │ │ 67 │ │ │ │ │ _7_6 explicit _v_a_l_u_e(_d_o_c_u_m_e_n_t_:_:_v_i_e_w _v_i_e_w); │ │ │ │ │ 77 │ │ │ │ │ 78 _v_a_l_u_e(const _v_a_l_u_e&); │ │ │ │ │ 79 _v_a_l_u_e& operator=(const _v_a_l_u_e&); │ │ │ │ │ 80 │ │ │ │ │ -81 _v_a_l_u_e(_v_a_l_u_e&&) _n_o_e_x_c_e_p_t = _d_e_f_a_u_l_t; │ │ │ │ │ -82 _v_a_l_u_e& _o_p_e_r_a_t_o_r=(_v_a_l_u_e&&) _n_o_e_x_c_e_p_t = _d_e_f_a_u_l_t; │ │ │ │ │ +81 _v_a_l_u_e(_v_a_l_u_e&&) noexcept = default; │ │ │ │ │ +82 _v_a_l_u_e& operator=(_v_a_l_u_e&&) noexcept = default; │ │ │ │ │ 83 │ │ │ │ │ -92 _t_e_m_p_l_a_t_e <_t_y_p_e_n_a_m_e _T, detail::_r_e_q_u_i_r_e_s___n_o_t___t> = 0> │ │ │ │ │ -_9_3 _e_x_p_l_i_c_i_t _v_a_l_u_e(_c_o_n_s_t _T& _t) : _v_a_l_u_e({}) { │ │ │ │ │ -94 _t_o___b_s_o_n(_t, *this); │ │ │ │ │ +_9_3 explicit _v_a_l_u_e(const T& t) : _v_a_l_u_e({}) { │ │ │ │ │ +94 to_bson(t, *this); │ │ │ │ │ 95 } │ │ │ │ │ 96 template │ │ │ │ │ -97 value& operator=(const _T& _t) { │ │ │ │ │ -98 *this = value{_t}; │ │ │ │ │ +97 value& operator=(const T& t) { │ │ │ │ │ +98 *this = value{t}; │ │ │ │ │ 99 return *this; │ │ │ │ │ 100 } │ │ │ │ │ 101 │ │ │ │ │ _1_0_5 _d_o_c_u_m_e_n_t_:_:_v_i_e_w_:_:_c_o_n_s_t___i_t_e_r_a_t_o_r _c_b_e_g_i_n() const; │ │ │ │ │ 106 │ │ │ │ │ _1_1_0 _d_o_c_u_m_e_n_t_:_:_v_i_e_w_:_:_c_o_n_s_t___i_t_e_r_a_t_o_r _c_e_n_d() const; │ │ │ │ │ 111 │ │ │ │ │ @@ -84,48 +84,48 @@ │ │ │ │ │ 150 │ │ │ │ │ _1_5_6 const std::uint8_t* _d_a_t_a() const; │ │ │ │ │ 157 │ │ │ │ │ _1_6_6 std::size_t _l_e_n_g_t_h() const; │ │ │ │ │ 167 │ │ │ │ │ _1_7_4 bool _e_m_p_t_y() const; │ │ │ │ │ 175 │ │ │ │ │ -179 BSONCXX_INLINE _d_o_c_u_m_e_n_t_:_:_v_i_e_w _v_i_e_w() _c_o_n_s_t _n_o_e_x_c_e_p_t; │ │ │ │ │ +179 BSONCXX_INLINE _d_o_c_u_m_e_n_t_:_:_v_i_e_w _v_i_e_w() const noexcept; │ │ │ │ │ 180 │ │ │ │ │ -186 BSONCXX_INLINE _o_p_e_r_a_t_o_r document::_v_i_e_w() _c_o_n_s_t _n_o_e_x_c_e_p_t; │ │ │ │ │ +186 BSONCXX_INLINE operator document::_v_i_e_w() const noexcept; │ │ │ │ │ 187 │ │ │ │ │ -195 _t_e_m_p_l_a_t_e <_t_y_p_e_n_a_m_e _T> │ │ │ │ │ -_1_9_6 _T _g_e_t() { │ │ │ │ │ -197 _T _t_e_m_p{}; │ │ │ │ │ -198 _f_r_o_m___b_s_o_n(_t_e_m_p, this->_v_i_e_w()); │ │ │ │ │ -199 return _t_e_m_p; │ │ │ │ │ +195 template │ │ │ │ │ +_1_9_6 T _g_e_t() { │ │ │ │ │ +197 T temp{}; │ │ │ │ │ +198 from_bson(temp, this->_v_i_e_w()); │ │ │ │ │ +199 return temp; │ │ │ │ │ 200 } │ │ │ │ │ 201 │ │ │ │ │ 211 template │ │ │ │ │ -_2_1_2 void _g_e_t(_T& _t) { │ │ │ │ │ -213 _f_r_o_m___b_s_o_n(t, this->_v_i_e_w()); │ │ │ │ │ +_2_1_2 void _g_e_t(T& t) { │ │ │ │ │ +213 from_bson(t, this->_v_i_e_w()); │ │ │ │ │ 214 } │ │ │ │ │ 215 │ │ │ │ │ _2_2_5 unique_ptr_type _r_e_l_e_a_s_e(); │ │ │ │ │ 226 │ │ │ │ │ _2_3_1 void _r_e_s_e_t(_d_o_c_u_m_e_n_t_:_:_v_i_e_w _v_i_e_w); │ │ │ │ │ 232 │ │ │ │ │ 233 private: │ │ │ │ │ 234 unique_ptr_type _data; │ │ │ │ │ 235 std::size_t _length{0}; │ │ │ │ │ 236}; │ │ │ │ │ 237 │ │ │ │ │ _2_3_8BSONCXX_INLINE _d_o_c_u_m_e_n_t_:_:_v_i_e_w _v_a_l_u_e_:_:_v_i_e_w() const noexcept { │ │ │ │ │ 239 // Silence false positive with g++ 10.2.1 on Debian 11. │ │ │ │ │ 240 BSONCXX_PUSH_WARNINGS(); │ │ │ │ │ -241 BSONCXX_DISABLE_WARNING(_G_C_C("-Wmaybe-uninitialized")); │ │ │ │ │ -242 return _d_o_c_u_m_e_n_t_:_:_v_i_e_w{static_cast<_u_i_n_t_8___t*>(_data.get()), _length}; │ │ │ │ │ +241 BSONCXX_DISABLE_WARNING(GCC("-Wmaybe-uninitialized")); │ │ │ │ │ +242 return _d_o_c_u_m_e_n_t_:_:_v_i_e_w{static_cast(_data.get()), _length}; │ │ │ │ │ 243 BSONCXX_POP_WARNINGS(); │ │ │ │ │ 244} │ │ │ │ │ 245 │ │ │ │ │ -_2_4_6BSONCXX_INLINE _v_a_l_u_e_:_:_o_p_e_r_a_t_o_r _d_o_c_u_m_e_n_t_:_:_v_i_e_w() const noexcept { │ │ │ │ │ +_2_4_6BSONCXX_INLINE value::operator _d_o_c_u_m_e_n_t_:_:_v_i_e_w() const noexcept { │ │ │ │ │ 247 return _v_i_e_w(); │ │ │ │ │ 248} │ │ │ │ │ 249 │ │ │ │ │ _2_5_7BSONCXX_INLINE bool _o_p_e_r_a_t_o_r_=_=(const _v_a_l_u_e& lhs, const _v_a_l_u_e& rhs) { │ │ │ │ │ 258 return (lhs._v_i_e_w() == rhs._v_i_e_w()); │ │ │ │ │ 259} │ │ │ │ │ 260 │ │ ├── xz --list │ │ │ @@ -1,13 +1,13 @@ │ │ │ Streams: 1 │ │ │ Blocks: 1 │ │ │ - Compressed size: 555.0 KiB (568324 B) │ │ │ - Uncompressed size: 12.8 MiB (13393920 B) │ │ │ + Compressed size: 554.6 KiB (567932 B) │ │ │ + Uncompressed size: 12.8 MiB (13383680 B) │ │ │ Ratio: 0.042 │ │ │ Check: CRC64 │ │ │ Stream Padding: 0 B │ │ │ Streams: │ │ │ Stream Blocks CompOffset UncompOffset CompSize UncompSize Ratio Check Padding │ │ │ - 1 1 0 0 568324 13393920 0.042 CRC64 0 │ │ │ + 1 1 0 0 567932 13383680 0.042 CRC64 0 │ │ │ Blocks: │ │ │ Stream Block CompOffset UncompOffset TotalSize UncompSize Ratio Check │ │ │ - 1 1 12 0 568284 13393920 0.042 CRC64 │ │ │ + 1 1 12 0 567892 13383680 0.042 CRC64