bool test1Thread() { Put() = 42; // dbg1(); for(auto& m: Get()) { // std::cout << "m: " << m << std::endl; // dbg1(); if(m != 42) { return false; } } // dbg1(); Put() = 101; // dbg1(); Put() = 202; // dbg1(); { Get g; // dbg1(); D::Iterator b(g.begin()); D::Iterator e(g.end()); D::Msg m1 = *b++; D::Msg m2 = *b++; // std::cout << "m1: " << m1 << ", m2: " << m2 << std::endl; // std::cout << "b: " << b << ", e: " << e << std::endl; return m1 == 101 && m2 == 202 && b == e; } }