aboutsummaryrefslogtreecommitdiff
path: root/odb/pragma.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'odb/pragma.hxx')
-rw-r--r--odb/pragma.hxx9
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>