本文整理汇总了C++中shared_ptr::Alloc方法的典型用法代码示例。如果您正苦于以下问题:C++ shared_ptr::Alloc方法的具体用法?C++ shared_ptr::Alloc怎么用?C++ shared_ptr::Alloc使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类shared_ptr
的用法示例。
在下文中一共展示了shared_ptr::Alloc方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: leafcut
void Leafcutter::leafcut(shared_ptr<Image<Vec4f> > image, shared_ptr<LightTree > lightTree, uint32_t samples, shared_ptr<ReportHandler> report)
{
_report = report;
_image = image;
_lightTree = lightTree;
_nCore = pthread_num_processors_np();
stringstream sout;
sout << "Leafcut on " << _nCore << " threads";
if (_report) _report->beginActivity(sout.str());
uint32_t lightNum = lightTree->DirectionalLightNum() + lightTree->OrientedLightNum();
image->Alloc(lightNum, samples);
_curLine = 0;
_mutex = PTHREAD_MUTEX_INITIALIZER;
pthread_mutex_init(&_mutex, NULL);
vector<pthread_t> threads(_nCore);
_sampler->BeginPixel(samples);
for (uint64_t idx = 0; idx < threads.size(); idx++)
{
pthread_create(&threads[idx], NULL, TreeWalkThread, this);
}
for (uint64_t idx = 0; idx < threads.size(); idx++)
{
pthread_join(threads[idx], NULL);
}
_sampler->EndPixel();
pthread_mutex_destroy(&_mutex);
if (_report) _report->endActivity();
}