blob: 4a0bf1792f16024c3f7e25fff69d08063bc38d07 [file] [log] [blame]
diff --git a/src/libunwindstack/ElfInterfaceArm.h b/src/libunwindstack/ElfInterfaceArm.h
index 1d71cac..157f31b 100644
--- a/src/libunwindstack/ElfInterfaceArm.h
+++ b/src/libunwindstack/ElfInterfaceArm.h
@@ -33,8 +33,14 @@ class ElfInterfaceArm : public ElfInterface32 {
ElfInterfaceArm(Memory* memory) : ElfInterface32(memory) {}
virtual ~ElfInterfaceArm() = default;
- class iterator : public std::iterator<std::bidirectional_iterator_tag, uint32_t> {
+ class iterator {
public:
+ using iterator_category = std::bidirectional_iterator_tag;
+ using value_type = uint32_t;
+ using difference_type = std::ptrdiff_t;
+ using pointer = uint32_t*;
+ using reference = uint32_t&;
+
iterator(ElfInterfaceArm* interface, size_t index) : interface_(interface), index_(index) { }
iterator& operator++() { index_++; return *this; }
diff --git a/src/libunwindstack/include/unwindstack/DwarfSection.h b/src/libunwindstack/include/unwindstack/DwarfSection.h
index af823da..7891adc 100644
--- a/src/libunwindstack/include/unwindstack/DwarfSection.h
+++ b/src/libunwindstack/include/unwindstack/DwarfSection.h
@@ -42,8 +42,14 @@ class DwarfSection {
DwarfSection(Memory* memory);
virtual ~DwarfSection() = default;
- class iterator : public std::iterator<std::bidirectional_iterator_tag, DwarfFde*> {
+ class iterator {
public:
+ using iterator_category = std::bidirectional_iterator_tag;
+ using value_type = DwarfFde*;
+ using difference_type = std::ptrdiff_t;
+ using pointer = DwarfFde**;
+ using reference = DwarfFde*&;
+
iterator(DwarfSection* section, size_t index) : index_(index) {
section->GetFdes(&fdes_);
if (index_ == static_cast<size_t>(-1)) {