本文整理汇总了C++中optional::base方法的典型用法代码示例。如果您正苦于以下问题:C++ optional::base方法的具体用法?C++ optional::base怎么用?C++ optional::base使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类optional
的用法示例。
在下文中一共展示了optional::base方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
shared_ptr<with_static_location_die>
process_image::find_containing_die_for_absolute_addr(
unw_word_t addr,
const Pred& pred,
bool innermost,
optional<abstract_dieset::iterator> start_here /* = optional<abstract_dieset::iterator>() */)
{
process_image::files_iterator found_file = find_file_for_addr(addr);
if (found_file == this->files.end())
{
cerr << "Warning: no file found for addr 0x" << std::hex << addr << std::dec << endl;
return shared_ptr<with_static_location_die>();
}
abstract_dieset& ds = *found_file->second.p_ds;
unw_word_t dieset_relative_addr = addr - get_dieset_base(ds);
if (!start_here || start_here->base().off == 0UL)
{
start_here = cu_iterator_for_dieset_relative_addr(
found_file,
dieset_relative_addr);
}
auto found = find_containing_die_for_dieset_relative_addr(
ds,
dieset_relative_addr,
pred, // pred
innermost, // innermost?
start_here
);
auto retval = dynamic_pointer_cast<spec::with_static_location_die>(found);
assert(retval || !found); // cast should not fail
return retval;
}