summaryrefslogtreecommitdiffstats
path: root/ml/dlib/dlib/sync_extension
diff options
context:
space:
mode:
Diffstat (limited to 'ml/dlib/dlib/sync_extension')
-rw-r--r--ml/dlib/dlib/sync_extension/sync_extension_kernel_1.h67
-rw-r--r--ml/dlib/dlib/sync_extension/sync_extension_kernel_abstract.h190
2 files changed, 0 insertions, 257 deletions
diff --git a/ml/dlib/dlib/sync_extension/sync_extension_kernel_1.h b/ml/dlib/dlib/sync_extension/sync_extension_kernel_1.h
deleted file mode 100644
index 71fe7c391..000000000
--- a/ml/dlib/dlib/sync_extension/sync_extension_kernel_1.h
+++ /dev/null
@@ -1,67 +0,0 @@
-// Copyright (C) 2003 Davis E. King (davis@dlib.net)
-// License: Boost Software License See LICENSE.txt for the full license.
-#ifndef DLIB_SYNC_EXTENSION_KERNEl_1_
-#define DLIB_SYNC_EXTENSION_KERNEl_1_
-
-#include "../threads.h"
-#include "../algs.h"
-#include "sync_extension_kernel_abstract.h"
-
-namespace dlib
-{
-
- template <
- typename base
- >
- class sync_extension_kernel_1 : public base
- {
-
- rmutex m;
- rsignaler s;
-
- public:
-
- sync_extension_kernel_1 () : s(m) {}
-
- template < typename T >
- sync_extension_kernel_1 (const T& one) : base(one),s(m) {}
- template < typename T, typename U >
- sync_extension_kernel_1 (const T& one, const U& two) : base(one,two),s(m) {}
-
-
- const rmutex& get_mutex(
- ) const { return m; }
-
- void lock (
- ) const { m.lock(); }
-
- void unlock (
- ) const { m.unlock(); }
-
- void wait (
- ) const { s.wait(); }
-
- bool wait_or_timeout (
- unsigned long milliseconds
- ) const { return s.wait_or_timeout(milliseconds); }
-
- void broadcast (
- ) const { s.broadcast(); }
-
- void signal (
- ) const { s.signal(); }
-
- };
-
- template <
- typename base
- >
- inline void swap (
- sync_extension_kernel_1<base>& a,
- sync_extension_kernel_1<base>& b
- ) { a.swap(b); }
-
-}
-
-#endif // DLIB_SYNC_EXTENSION_KERNEl_1_
-
diff --git a/ml/dlib/dlib/sync_extension/sync_extension_kernel_abstract.h b/ml/dlib/dlib/sync_extension/sync_extension_kernel_abstract.h
deleted file mode 100644
index 35665d430..000000000
--- a/ml/dlib/dlib/sync_extension/sync_extension_kernel_abstract.h
+++ /dev/null
@@ -1,190 +0,0 @@
-// Copyright (C) 2003 Davis E. King (davis@dlib.net)
-// License: Boost Software License See LICENSE.txt for the full license.
-#undef DLIB_SYNC_EXTENSION_KERNEl_ABSTRACT_
-#ifdef DLIB_SYNC_EXTENSION_KERNEl_ABSTRACT_
-
-#include "../threads/threads_kernel_abstract.h"
-#include "../threads/rmutex_extension_abstract.h"
-#include "../threads/rsignaler_extension_abstract.h"
-#include "../algs.h"
-
-namespace dlib
-{
-
- template <
- typename base
- >
- class sync_extension : public base
- {
-
- /*!
- REQUIREMENTS ON base
- base must have a default constructor
- base must implement swap(base&)
-
-
- WHAT THIS OBJECT REPRESENTS
- This object represents a general extension to any object (given the
- restrictions on base). This object gives any object which it extends
- an integrated rmutex and rsignaler object. The extended object will
- then be able to be treated as if it was also a rmutex and rsignaler.
-
- NOTE that just like the threading api, this object does not check
- its requires clauses so be careful with it.
-
- Also note that swap() does not swap the rmutex and rsignaler objects.
- the rmutex and rsignaler are associated with the object instance itself,
- not with whatever the object represents.
- !*/
-
-
- public:
-
- sync_extension (
- );
- /*!
- ensures
- - #*this is properly initialized
- throws
- - std::bad_alloc
- this is thrown if there is a problem gathering memory
- - dlib::thread_error
- this is thrown if there is a problem creating threading objects
- - any exception thrown by the constructor for the parent class base
- !*/
-
- template <
- typename T
- >
- sync_extension (
- const T& one
- );
- /*!
- ensures
- - #*this is properly initialized
- - the argument one will be passed on to the constructor for the parent
- class base.
- throws
- - std::bad_alloc
- this is thrown if there is a problem gathering memory
- - dlib::thread_error
- this is thrown if there is a problem creating threading objects
- - any exception thrown by the constructor for the parent class base
- !*/
-
- template <
- typename T,
- typename U
- >
- sync_extension (
- const T& one,
- const T& two
- );
- /*!
- ensures
- - #*this is properly initialized
- - the argument one will be passed on to the constructor for the parent
- class base as its first argument.
- - the argument two will be passed on to the constructor for the parent
- class base as its second argument.
- throws
- - std::bad_alloc
- this is thrown if there is a problem gathering memory
- - dlib::thread_error
- this is thrown if there is a problem creating threading objects
- - any exception thrown by the constructor for the parent class base
- !*/
-
-
- const rmutex& get_mutex (
- ) const;
- /*!
- ensures
- - returns the rmutex embedded in this object
- !*/
-
- void lock (
- ) const;
- /*!
- requires
- - the thread calling lock() does not already have a lock on *this
- ensures
- - if (*this is currently locked by another thread) then
- - the thread that called lock() on *this is put to sleep until
- it becomes available
- - if (*this is currently unlocked) then
- - #*this becomes locked and the current thread is NOT put to sleep
- but now "owns" #*this
- !*/
-
- void unlock (
- ) const;
- /*!
- ensures
- - #*this is unlocked (i.e. other threads may now lock this object)
- !*/
-
-
- void wait (
- ) const;
- /*!
- requires
- - *this is locked and owned by the calling thread
- ensures
- - atomically unlocks *this and blocks the calling thread
- - calling thread will wake if another thread calls signal() or broadcast()
- on *this
- - when wait returns the calling thread again has a lock on #*this
- !*/
-
-
- bool wait_or_timeout (
- unsigned long milliseconds
- ) const;
- /*!
- requires
- - *this is locked and owned by the calling thread
- ensures
- - atomically unlocks *this and blocks the calling thread
- - calling thread will wake if another thread calls signal() or broadcast()
- on *this
- - after the specified number of milliseconds has elapsed the calling thread
- will wake once *this is free to be locked
- - when wait returns the calling thread again has a lock on #*this
-
- - returns false if the call to wait_or_timeout timed out
- - returns true if the call did not time out
- !*/
-
- void signal (
- ) const;
- /*!
- ensures
- - if (at least one thread is waiting on *this) then
- - at least one of the waiting threads will wake
- !*/
-
- void broadcast (
- ) const;
- /*!
- ensures
- - any and all threads waiting on *this will wake
- !*/
-
- };
-
- template <
- typename base
- >
- inline void swap (
- sync_extension<base>& a,
- sync_extension<base>& b
- ) { a.swap(b); }
- /*!
- provides a global swap function
- !*/
-
-}
-
-#endif // DLIB_SYNC_EXTENSION_KERNEl_ABSTRACT_
-