diff options
Diffstat (limited to 'odb/pragma.hxx')
-rw-r--r-- | odb/pragma.hxx | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/odb/pragma.hxx b/odb/pragma.hxx index a71c49c..ac64346 100644 --- a/odb/pragma.hxx +++ b/odb/pragma.hxx @@ -74,16 +74,17 @@ struct pragma_set: std::set<pragma> { typedef std::set<pragma> base; - void + pragma& insert (pragma const& p) { std::pair<iterator, bool> r (base::insert (p)); + pragma& x (const_cast<pragma&> (*r.first)); + if (!r.second) - { - pragma& x (const_cast<pragma&> (*r.first)); x = p; - } + + return x; } template <typename I> |