1 | #undef NDEBUG
|
---|
2 | #include <boost/log/attributes/attribute_set.hpp>
|
---|
3 | #include <boost/log/attributes/attribute_value_set.hpp>
|
---|
4 | #include <boost/log/attributes/constant.hpp>
|
---|
5 |
|
---|
6 | int main()
|
---|
7 | {
|
---|
8 | boost::log::attribute_set set;
|
---|
9 | for (auto ch='A'; ch <= 'z'; ++ch)
|
---|
10 | {
|
---|
11 | auto const key(std::string("key") + ch);
|
---|
12 | auto const res(set.insert(key, boost::log::attributes::make_constant(5)));
|
---|
13 | assert(res.second); // insertion succeeded
|
---|
14 | assert(set.find(res.first->first) != set.end()); // and so did find
|
---|
15 | for (auto const item: set)
|
---|
16 | {
|
---|
17 | // This issue has been fixed.
|
---|
18 | assert(set.find(item.first) != set.end());
|
---|
19 | }
|
---|
20 | }
|
---|
21 |
|
---|
22 | boost::log::attribute_set thread, global;
|
---|
23 | boost::log::attribute_value_set vset(set, thread, global);
|
---|
24 | for (auto const item: vset)
|
---|
25 | {
|
---|
26 | // But this one remains.
|
---|
27 | assert(vset.find(item.first) != vset.end());
|
---|
28 | }
|
---|
29 | return 0;
|
---|
30 | }
|
---|