本文整理汇总了C++中span::end方法的典型用法代码示例。如果您正苦于以下问题:C++ span::end方法的具体用法?C++ span::end怎么用?C++ span::end使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类span
的用法示例。
在下文中一共展示了span::end方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: bdecode
entry bdecode(span<char const> buffer)
{
entry e;
bool err = false;
auto it = buffer.begin();
detail::bdecode_recursive(it, buffer.end(), e, err, 0);
TORRENT_ASSERT(e.m_type_queried == false);
if (err) return entry();
return e;
}
示例2: free_multiple_buffers
void disk_buffer_pool::free_multiple_buffers(span<char*> bufvec)
{
// sort the pointers in order to maximize cache hits
std::sort(bufvec.begin(), bufvec.end());
std::unique_lock<std::mutex> l(m_pool_mutex);
for (char* buf : bufvec)
{
TORRENT_ASSERT(is_disk_buffer(buf, l));
free_buffer_impl(buf, l);
remove_buffer_in_use(buf);
}
check_buffer_level(l);
}
示例3: reveal
void ShGcInt::reveal(span<u64> pIdxs)
{
ShGc::OutputItem out;
out.mLabels.reset(new std::vector<block>(bitCount()));
if (std::find(pIdxs.begin(), pIdxs.end(), mRt.mPartyIdx) != pIdxs.end())
{
out.mOutputProm.reset(new std::promise<BitVector>());
mFutr = out.mOutputProm->get_future();
}
else if (mFutr.valid())
{
mFutr = std::future<BitVector>();
}
out.mOutPartyIdxs.assign(pIdxs.begin(), pIdxs.end());
ShGc::CircuitItem cc;
cc.mLabels.resize(2);
cc.mLabels[0] = mLabels;
cc.mLabels[1] = out.mLabels;
mRt.enqueue(std::move(out));
mRt.enqueue(std::move(cc));
}