// Copyright (C) 2013 Vicente J. Botet Escriba // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // // class synchronized_value // strict_lock_ptr synchronize(); // const_strict_lock_ptr synchronize() const; #define BOOST_THREAD_VERSION 4 #include #include struct S { int f() const {return 1;} int g() {return 1;} }; int main() { { boost::synchronized_value v; boost::strict_lock_ptr ptr = v.synchronize(); BOOST_TEST(ptr->f()==1); BOOST_TEST(ptr->g()==1); } { const boost::synchronized_value v; boost::const_strict_lock_ptr ptr = v.synchronize(); BOOST_TEST(ptr->f()==1); } return boost::report_errors(); }