[odb-users] std::transform changes the begin iterator
xiang.zhao at gamegou.com
Mon Oct 26 23:30:46 EDT 2015
Dear ODB support,
I'm currently using odb 2.4.0, and I think I've found a bug with odb::result and std::transform.
My code is like below:
odb::result<user_player> players = db.query<user_player>(...);
std::transform(players.begin(), players.end(), playerIds.begin(), (const user_player& p)
assert(players.size() > 0);//ok
assert(players.begin() != players.end());//oops
After some debug I noticed the value of players.begin() is changed after the std::transform call.
So I think this is a bug in odb's iterator implementation.
More information about the odb-users