diff options
Diffstat (limited to '3rdParty/Boost/src/boost/thread/detail/thread.hpp')
| -rw-r--r-- | 3rdParty/Boost/src/boost/thread/detail/thread.hpp | 116 | 
1 files changed, 14 insertions, 102 deletions
diff --git a/3rdParty/Boost/src/boost/thread/detail/thread.hpp b/3rdParty/Boost/src/boost/thread/detail/thread.hpp index fbb895d..170801b 100644 --- a/3rdParty/Boost/src/boost/thread/detail/thread.hpp +++ b/3rdParty/Boost/src/boost/thread/detail/thread.hpp @@ -144,6 +144,9 @@ namespace boost          struct dummy;  #endif      public: +#ifdef __SUNPRO_CC  +        thread(const volatile thread&);  +#endif           thread();          ~thread(); @@ -201,14 +204,21 @@ namespace boost              thread_info=x->thread_info;              x->thread_info.reset();          } -         +        +#ifdef __SUNPRO_CC  +        thread& operator=(thread x)  +        {  +            swap(x);  +            return *this;  +        }  +#else          thread& operator=(detail::thread_move_t<thread> x)          {              thread new_thread(x);              swap(new_thread);              return *this;          } -         +#endif             operator detail::thread_move_t<thread>()          {              return move(); @@ -339,35 +349,14 @@ namespace boost          return t;      }  #else -    inline thread move(detail::thread_move_t<thread> t) +    inline detail::thread_move_t<thread> move(detail::thread_move_t<thread> t)      { -        return thread(t); +        return t;      }  #endif      namespace this_thread      { -        class BOOST_THREAD_DECL disable_interruption -        { -            disable_interruption(const disable_interruption&); -            disable_interruption& operator=(const disable_interruption&); -             -            bool interruption_was_enabled; -            friend class restore_interruption; -        public: -            disable_interruption(); -            ~disable_interruption(); -        }; - -        class BOOST_THREAD_DECL restore_interruption -        { -            restore_interruption(const restore_interruption&); -            restore_interruption& operator=(const restore_interruption&); -        public: -            explicit restore_interruption(disable_interruption& d); -            ~restore_interruption(); -        }; -          thread::id BOOST_THREAD_DECL get_id();          void BOOST_THREAD_DECL interruption_point(); @@ -487,83 +476,6 @@ namespace boost              detail::add_thread_exit_function(thread_exit_func);          }      } - -    class thread_group: -        private noncopyable -    { -    public: -        ~thread_group() -        { -            for(std::list<thread*>::iterator it=threads.begin(),end=threads.end(); -                it!=end; -                ++it) -            { -                delete *it; -            } -        } - -        template<typename F> -        thread* create_thread(F threadfunc) -        { -            boost::lock_guard<mutex> guard(m); -            std::auto_ptr<thread> new_thread(new thread(threadfunc)); -            threads.push_back(new_thread.get()); -            return new_thread.release(); -        } -         -        void add_thread(thread* thrd) -        { -            if(thrd) -            { -                boost::lock_guard<mutex> guard(m); -                threads.push_back(thrd); -            } -        } -             -        void remove_thread(thread* thrd) -        { -            boost::lock_guard<mutex> guard(m); -            std::list<thread*>::iterator const it=std::find(threads.begin(),threads.end(),thrd); -            if(it!=threads.end()) -            { -                threads.erase(it); -            } -        } -         -        void join_all() -        { -            boost::lock_guard<mutex> guard(m); -             -            for(std::list<thread*>::iterator it=threads.begin(),end=threads.end(); -                it!=end; -                ++it) -            { -                (*it)->join(); -            } -        } -         -        void interrupt_all() -        { -            boost::lock_guard<mutex> guard(m); -             -            for(std::list<thread*>::iterator it=threads.begin(),end=threads.end(); -                it!=end; -                ++it) -            { -                (*it)->interrupt(); -            } -        } -         -        size_t size() const -        { -            boost::lock_guard<mutex> guard(m); -            return threads.size(); -        } -         -    private: -        std::list<thread*> threads; -        mutable mutex m; -    };  }  #ifdef BOOST_MSVC  | 
 Swift