Skip to content

Commit b2c7d24

Browse files
authored
Merge pull request #3911 from tautschnig/irept-opt-number
Construct element in place
2 parents 3fe359e + 6794471 commit b2c7d24

File tree

2 files changed

+9
-3
lines changed

2 files changed

+9
-3
lines changed

src/util/irep_hash_container.cpp

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,10 @@ size_t irep_hash_container_baset::number(const irept &irep)
2727
pack(irep, packed);
2828
size_t id=numbering.number(packed);
2929

30-
auto &irep_entry = ptr_hash[&irep.read()];
31-
irep_entry.number = id;
32-
irep_entry.irep = irep;
30+
ptr_hash.emplace(
31+
std::piecewise_construct,
32+
std::forward_as_tuple(&irep.read()),
33+
std::forward_as_tuple(id, irep));
3334

3435
return id;
3536
}

src/util/irep_hash_container.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,11 @@ class irep_hash_container_baset
4949
{
5050
std::size_t number;
5151
irept irep; // copy to keep addresses stable
52+
53+
irep_entryt(std::size_t _number, const irept &_irep)
54+
: number(_number), irep(_irep)
55+
{
56+
}
5257
};
5358

5459
typedef std::unordered_map<const void *, irep_entryt, pointer_hasht>

0 commit comments

Comments
 (0)