use macro LOKI_DEFAULT_MUTEX for Mutex default value, defined in Threads.h
git-svn-id: svn://svn.code.sf.net/p/loki-lib/code/trunk@514 7ec92016-0320-0410-acc4-a06ded1c099a
This commit is contained in:
parent
e3dc79f363
commit
2dc4c649e0
4 changed files with 25 additions and 10 deletions
|
@ -41,7 +41,7 @@ namespace Loki
|
||||||
the mutex type as a LockingPolicy class. The only requirements for a
|
the mutex type as a LockingPolicy class. The only requirements for a
|
||||||
LockingPolicy class are to provide Lock and Unlock methods.
|
LockingPolicy class are to provide Lock and Unlock methods.
|
||||||
*/
|
*/
|
||||||
template < typename SharedObject, typename LockingPolicy = Loki::Mutex,
|
template < typename SharedObject, typename LockingPolicy = LOKI_DEFAULT_MUTEX,
|
||||||
template<class> class ConstPolicy = NonConstObject >
|
template<class> class ConstPolicy = NonConstObject >
|
||||||
class LockingPtr
|
class LockingPtr
|
||||||
{
|
{
|
||||||
|
@ -98,7 +98,7 @@ namespace Loki
|
||||||
}; // end class LockingPtr
|
}; // end class LockingPtr
|
||||||
|
|
||||||
|
|
||||||
template<typename SharedObject, typename LockingPolicy = Mutex>
|
template<typename SharedObject, typename LockingPolicy = LOKI_DEFAULT_MUTEX>
|
||||||
struct Locking
|
struct Locking
|
||||||
{
|
{
|
||||||
typedef LockingPtr<SharedObject, LockingPolicy, NonConstObject> Ptr;
|
typedef LockingPtr<SharedObject, LockingPolicy, NonConstObject> Ptr;
|
||||||
|
@ -112,7 +112,7 @@ namespace Loki
|
||||||
a const SharedObject instead of a mutuable SharedObject.
|
a const SharedObject instead of a mutuable SharedObject.
|
||||||
@see LockingPtr
|
@see LockingPtr
|
||||||
*/
|
*/
|
||||||
template < typename SharedObject, typename LockingPolicy = Loki::Mutex >
|
template < typename SharedObject, typename LockingPolicy = LOKI_DEFAULT_MUTEX >
|
||||||
class ConstLockingPtr
|
class ConstLockingPtr
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
@ -175,6 +175,9 @@ namespace Loki
|
||||||
|
|
||||||
|
|
||||||
// $Log$
|
// $Log$
|
||||||
|
// Revision 1.7 2006/01/22 13:37:33 syntheticpp
|
||||||
|
// use macro LOKI_DEFAULT_MUTEX for Mutex default value, defined in Threads.h
|
||||||
|
//
|
||||||
// Revision 1.6 2006/01/21 14:09:09 syntheticpp
|
// Revision 1.6 2006/01/21 14:09:09 syntheticpp
|
||||||
// replace LockPtr/ConstLockPtr implementation with a template policy based one
|
// replace LockPtr/ConstLockPtr implementation with a template policy based one
|
||||||
//
|
//
|
||||||
|
|
|
@ -707,7 +707,7 @@ namespace Loki
|
||||||
template <class> class CreationPolicy = CreateUsingNew,
|
template <class> class CreationPolicy = CreateUsingNew,
|
||||||
template <class> class LifetimePolicy = DefaultLifetime,
|
template <class> class LifetimePolicy = DefaultLifetime,
|
||||||
template <class, class> class ThreadingModel = LOKI_DEFAULT_THREADING_NO_OBJ_LEVEL,
|
template <class, class> class ThreadingModel = LOKI_DEFAULT_THREADING_NO_OBJ_LEVEL,
|
||||||
class MutexPolicy = Mutex
|
class MutexPolicy = LOKI_DEFAULT_MUTEX
|
||||||
>
|
>
|
||||||
class SingletonHolder
|
class SingletonHolder
|
||||||
{
|
{
|
||||||
|
@ -841,6 +841,9 @@ namespace Loki
|
||||||
#endif // SINGLETON_INC_
|
#endif // SINGLETON_INC_
|
||||||
|
|
||||||
// $Log$
|
// $Log$
|
||||||
|
// Revision 1.24 2006/01/22 13:37:33 syntheticpp
|
||||||
|
// use macro LOKI_DEFAULT_MUTEX for Mutex default value, defined in Threads.h
|
||||||
|
//
|
||||||
// Revision 1.23 2006/01/22 00:44:17 syntheticpp
|
// Revision 1.23 2006/01/22 00:44:17 syntheticpp
|
||||||
// add additional template parameter for the changed threading classes
|
// add additional template parameter for the changed threading classes
|
||||||
//
|
//
|
||||||
|
|
|
@ -217,7 +217,7 @@ namespace Loki
|
||||||
std::size_t maxSmallObjectSize = LOKI_MAX_SMALL_OBJECT_SIZE,
|
std::size_t maxSmallObjectSize = LOKI_MAX_SMALL_OBJECT_SIZE,
|
||||||
std::size_t objectAlignSize = LOKI_DEFAULT_OBJECT_ALIGNMENT,
|
std::size_t objectAlignSize = LOKI_DEFAULT_OBJECT_ALIGNMENT,
|
||||||
template <class> class LifetimePolicy = LOKI_DEFAULT_SMALLOBJ_LIFETIME,
|
template <class> class LifetimePolicy = LOKI_DEFAULT_SMALLOBJ_LIFETIME,
|
||||||
class MutexPolicy = Mutex
|
class MutexPolicy = LOKI_DEFAULT_MUTEX
|
||||||
>
|
>
|
||||||
class AllocatorSingleton : public SmallObjAllocator
|
class AllocatorSingleton : public SmallObjAllocator
|
||||||
{
|
{
|
||||||
|
@ -577,7 +577,7 @@ namespace Loki
|
||||||
std::size_t maxSmallObjectSize = LOKI_MAX_SMALL_OBJECT_SIZE,
|
std::size_t maxSmallObjectSize = LOKI_MAX_SMALL_OBJECT_SIZE,
|
||||||
std::size_t objectAlignSize = LOKI_DEFAULT_OBJECT_ALIGNMENT,
|
std::size_t objectAlignSize = LOKI_DEFAULT_OBJECT_ALIGNMENT,
|
||||||
template <class> class LifetimePolicy = LOKI_DEFAULT_SMALLOBJ_LIFETIME,
|
template <class> class LifetimePolicy = LOKI_DEFAULT_SMALLOBJ_LIFETIME,
|
||||||
class MutexPolicy = Mutex
|
class MutexPolicy = LOKI_DEFAULT_MUTEX
|
||||||
>
|
>
|
||||||
class SmallObject : public SmallObjectBase< ThreadingModel, chunkSize,
|
class SmallObject : public SmallObjectBase< ThreadingModel, chunkSize,
|
||||||
maxSmallObjectSize, objectAlignSize, LifetimePolicy, MutexPolicy >
|
maxSmallObjectSize, objectAlignSize, LifetimePolicy, MutexPolicy >
|
||||||
|
@ -613,7 +613,7 @@ namespace Loki
|
||||||
std::size_t maxSmallObjectSize = LOKI_MAX_SMALL_OBJECT_SIZE,
|
std::size_t maxSmallObjectSize = LOKI_MAX_SMALL_OBJECT_SIZE,
|
||||||
std::size_t objectAlignSize = LOKI_DEFAULT_OBJECT_ALIGNMENT,
|
std::size_t objectAlignSize = LOKI_DEFAULT_OBJECT_ALIGNMENT,
|
||||||
template <class> class LifetimePolicy = LOKI_DEFAULT_SMALLOBJ_LIFETIME,
|
template <class> class LifetimePolicy = LOKI_DEFAULT_SMALLOBJ_LIFETIME,
|
||||||
class MutexPolicy = Mutex
|
class MutexPolicy = LOKI_DEFAULT_MUTEX
|
||||||
>
|
>
|
||||||
class SmallValueObject : public SmallObjectBase< ThreadingModel, chunkSize,
|
class SmallValueObject : public SmallObjectBase< ThreadingModel, chunkSize,
|
||||||
maxSmallObjectSize, objectAlignSize, LifetimePolicy, MutexPolicy >
|
maxSmallObjectSize, objectAlignSize, LifetimePolicy, MutexPolicy >
|
||||||
|
@ -633,6 +633,9 @@ namespace Loki
|
||||||
// Nov. 26, 2004: re-implemented by Rich Sposato.
|
// Nov. 26, 2004: re-implemented by Rich Sposato.
|
||||||
//
|
//
|
||||||
// $Log$
|
// $Log$
|
||||||
|
// Revision 1.26 2006/01/22 13:37:33 syntheticpp
|
||||||
|
// use macro LOKI_DEFAULT_MUTEX for Mutex default value, defined in Threads.h
|
||||||
|
//
|
||||||
// Revision 1.25 2006/01/22 13:31:45 syntheticpp
|
// Revision 1.25 2006/01/22 13:31:45 syntheticpp
|
||||||
// add additional template parameter for the changed threading classes
|
// add additional template parameter for the changed threading classes
|
||||||
//
|
//
|
||||||
|
|
|
@ -74,6 +74,9 @@
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef LOKI_DEFAULT_MUTEX
|
||||||
|
#define LOKI_DEFAULT_MUTEX ::Loki::Mutex
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined(_WINDOWS_) || defined(_WINDOWS_H)
|
#if defined(_WINDOWS_) || defined(_WINDOWS_H)
|
||||||
|
|
||||||
|
@ -176,7 +179,7 @@ namespace Loki
|
||||||
/// Implementation of the ThreadingModel policy used by various classes
|
/// Implementation of the ThreadingModel policy used by various classes
|
||||||
/// Implements a single-threaded model; no synchronization
|
/// Implements a single-threaded model; no synchronization
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
template <class Host, class MutexPolicy = Mutex>
|
template <class Host, class MutexPolicy = LOKI_DEFAULT_MUTEX>
|
||||||
class SingleThreaded
|
class SingleThreaded
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
@ -228,7 +231,7 @@ namespace Loki
|
||||||
/// Implementation of the ThreadingModel policy used by various classes
|
/// Implementation of the ThreadingModel policy used by various classes
|
||||||
/// Implements a object-level locking scheme
|
/// Implements a object-level locking scheme
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
template < class Host, class MutexPolicy = Loki::Mutex >
|
template < class Host, class MutexPolicy = LOKI_DEFAULT_MUTEX >
|
||||||
class ObjectLevelLockable
|
class ObjectLevelLockable
|
||||||
{
|
{
|
||||||
mutable MutexPolicy mtx_;
|
mutable MutexPolicy mtx_;
|
||||||
|
@ -295,7 +298,7 @@ namespace Loki
|
||||||
/// Implementation of the ThreadingModel policy used by various classes
|
/// Implementation of the ThreadingModel policy used by various classes
|
||||||
/// Implements a class-level locking scheme
|
/// Implements a class-level locking scheme
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
template <class Host, class MutexPolicy = Loki::Mutex >
|
template <class Host, class MutexPolicy = LOKI_DEFAULT_MUTEX >
|
||||||
class ClassLevelLockable
|
class ClassLevelLockable
|
||||||
{
|
{
|
||||||
struct Initializer
|
struct Initializer
|
||||||
|
@ -392,6 +395,9 @@ namespace Loki
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// $Log$
|
// $Log$
|
||||||
|
// Revision 1.26 2006/01/22 13:37:33 syntheticpp
|
||||||
|
// use macro LOKI_DEFAULT_MUTEX for Mutex default value, defined in Threads.h
|
||||||
|
//
|
||||||
// Revision 1.25 2006/01/22 00:32:29 syntheticpp
|
// Revision 1.25 2006/01/22 00:32:29 syntheticpp
|
||||||
// add dummy Mutex for single threading and additional template parameter
|
// add dummy Mutex for single threading and additional template parameter
|
||||||
//
|
//
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue