WiredTigerItem _toItem( const BSONObj& key, const RecordId& loc, boost::scoped_array<char>*out ) { size_t keyLen = key.objsize() + sizeof(RecordIdRepr); out->reset( new char[keyLen] ); memcpy( out->get(), key.objdata(), key.objsize() ); putRecordIdAtOffset(out->get(), key.objsize(), loc); return WiredTigerItem( out->get(), keyLen ); }
WiredTigerItem _toItem( const BSONObj& key, const RecordId& loc, boost::scoped_array<char>*out ) { size_t keyLen = key.objsize() + sizeof(RecordId); out->reset( new char[keyLen] ); memcpy( out->get(), key.objdata(), key.objsize() ); memcpy( out->get() + key.objsize(), reinterpret_cast<const char*>(&loc), sizeof(RecordId) ); return WiredTigerItem( out->get(), keyLen ); }