summaryrefslogtreecommitdiffstats
path: root/ml/dlib/dlib/threads/threaded_object_extension_abstract.h
diff options
context:
space:
mode:
Diffstat (limited to 'ml/dlib/dlib/threads/threaded_object_extension_abstract.h')
-rw-r--r--ml/dlib/dlib/threads/threaded_object_extension_abstract.h199
1 files changed, 0 insertions, 199 deletions
diff --git a/ml/dlib/dlib/threads/threaded_object_extension_abstract.h b/ml/dlib/dlib/threads/threaded_object_extension_abstract.h
deleted file mode 100644
index 32a8fbc31..000000000
--- a/ml/dlib/dlib/threads/threaded_object_extension_abstract.h
+++ /dev/null
@@ -1,199 +0,0 @@
-// Copyright (C) 2007 Davis E. King (davis@dlib.net)
-// License: Boost Software License See LICENSE.txt for the full license.
-#undef DLIB_THREADED_OBJECT_EXTENSIOn_ABSTRACT_
-#ifdef DLIB_THREADED_OBJECT_EXTENSIOn_ABSTRACT_
-
-#include "threads_kernel_abstract.h"
-
-namespace dlib
-{
-
-// ----------------------------------------------------------------------------------------
-
- class threaded_object
- {
- /*!
- INITIAL VALUE
- - is_running() == false
- - is_alive() == false
- - should_respawn() == false
-
- WHAT THIS OBJECT REPRESENTS
- This object represents a simple threaded object. To use it you inherit
- from it and define the thread() function. Then when you call start()
- it will spawn a thread that calls this->thread().
- !*/
- public:
-
- threaded_object (
- );
- /*!
- ensures
- - #*this is properly initialized
- throws
- - std::bad_alloc
- - dlib::thread_error
- the constructor may throw this exception if there is a problem
- gathering resources to create threading objects.
- !*/
-
- virtual ~threaded_object (
- );
- /*!
- requires
- - is_alive() == false
- (i.e. in the destructor for the object you derive from this one you
- must wait for this->thread() to end.)
- ensures
- - all resources allocated by *this have been freed.
- !*/
-
- bool is_running (
- ) const;
- /*!
- requires
- - is not called from this->thread()
- ensures
- - if (is_alive() && this->thread() is currently supposed to be executing) then
- - returns true
- - else
- - returns false
- !*/
-
- bool is_alive (
- ) const;
- /*!
- requires
- - is not called from this->thread()
- ensures
- - if (this->thread() has been called by some thread and has yet to terminate) then
- - returns true
- - else
- - returns false
- !*/
-
- void wait (
- ) const;
- /*!
- requires
- - is not called from this->thread()
- ensures
- - if (is_alive() == true) then
- - blocks until this->thread() terminates
- !*/
-
- void start (
- );
- /*!
- requires
- - is not called from this->thread()
- ensures
- - #is_alive() == true
- - #is_running() == true
- - #should_stop() == false
- throws
- - std::bad_alloc or dlib::thread_error
- If either of these exceptions are thrown then
- #is_alive() == false and #is_running() == false
- !*/
-
- void set_respawn (
- );
- /*!
- requires
- - is not called from this->thread()
- ensures
- - #should_respawn() == true
- !*/
-
- bool should_respawn (
- ) const;
- /*!
- requires
- - is not called from this->thread()
- ensures
- - returns true if the thread will automatically restart upon termination and
- false otherwise. Note that every time a thread starts it sets should_respawn()
- back to false. Therefore, a single call to set_respawn() can cause at most
- one respawn to occur.
- !*/
-
- void restart (
- );
- /*!
- requires
- - is not called from this->thread()
- ensures
- - This function atomically executes set_respawn() and start(). The precise meaning of this
- is defined below.
- - if (is_alive()) then
- - #should_respawn() == true
- - else
- - #should_respawn() == false
- - #is_alive() == true
- - #is_running() == true
- - #should_stop() == false
- throws
- - std::bad_alloc or dlib::thread_error
- If either of these exceptions are thrown then
- #is_alive() == false and #is_running() == false
- !*/
-
- void pause (
- );
- /*!
- requires
- - is not called from this->thread()
- ensures
- - #is_running() == false
- !*/
-
- void stop (
- );
- /*!
- requires
- - is not called from this->thread()
- ensures
- - #should_stop() == true
- - #is_running() == false
- - #should_respawn() == false
- !*/
-
- protected:
-
- bool should_stop (
- ) const;
- /*!
- requires
- - is only called from the thread that executes this->thread()
- ensures
- - calls to this function block until (#is_running() == true || #should_stop() == true)
- - if (this thread is supposed to terminate) then
- - returns true
- - else
- - returns false
- !*/
-
- private:
-
- virtual void thread (
- ) = 0;
- /*!
- requires
- - is executed in its own thread
- - is only executed in one thread at a time
- throws
- - does not throw any exceptions
- !*/
-
- // restricted functions
- threaded_object(threaded_object&); // copy constructor
- threaded_object& operator=(threaded_object&); // assignment operator
- };
-
-// ----------------------------------------------------------------------------------------
-
-}
-
-#endif // DLIB_THREADED_OBJECT_EXTENSIOn_ABSTRACT_
-