mirror of
https://github.com/pocoproject/poco.git
synced 2025-05-29 23:42:39 +02:00
trunk/branch integration: documentation
This commit is contained in:
parent
5cdea0c145
commit
9110aafc25
@ -1,7 +1,7 @@
|
|||||||
//
|
//
|
||||||
// TypeChecks.h
|
// MetaProgramming.h
|
||||||
//
|
//
|
||||||
// $Id: //poco/svn/Foundation/include/Poco/MetaProgramming.h#2 $
|
// $Id: //poco/1.4/Foundation/include/Poco/MetaProgramming.h#1 $
|
||||||
//
|
//
|
||||||
// Library: Foundation
|
// Library: Foundation
|
||||||
// Package: Core
|
// Package: Core
|
||||||
@ -36,8 +36,8 @@
|
|||||||
//
|
//
|
||||||
|
|
||||||
|
|
||||||
#ifndef Foundation_TypeChecks_INCLUDED
|
#ifndef Foundation_MetaProgramming_INCLUDED
|
||||||
#define Foundation_TypeChecks_INCLUDED
|
#define Foundation_MetaProgramming_INCLUDED
|
||||||
|
|
||||||
|
|
||||||
#include "Poco/Foundation.h"
|
#include "Poco/Foundation.h"
|
||||||
@ -48,10 +48,10 @@ namespace Poco {
|
|||||||
|
|
||||||
template <typename T>
|
template <typename T>
|
||||||
struct IsReference
|
struct IsReference
|
||||||
///Use this struct to determine if a template type is a reference
|
/// Use this struct to determine if a template type is a reference.
|
||||||
{
|
{
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
VALUE = 0
|
VALUE = 0
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@ -77,13 +77,12 @@ struct IsReference<const T&>
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
template <typename T>
|
template <typename T>
|
||||||
struct IsConst
|
struct IsConst
|
||||||
///Use this struct to determine if a template type is a const type
|
/// Use this struct to determine if a template type is a const type.
|
||||||
{
|
{
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
VALUE = 0
|
VALUE = 0
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@ -111,21 +110,21 @@ struct IsConst<const T>
|
|||||||
|
|
||||||
template <typename T, int i>
|
template <typename T, int i>
|
||||||
struct IsConst<const T[i]>
|
struct IsConst<const T[i]>
|
||||||
/// Specialization for const char arrays
|
/// Specialization for const char arrays
|
||||||
{
|
{
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
VALUE = 1
|
VALUE = 1
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
template <typename T>
|
template <typename T>
|
||||||
struct TypeWrapper
|
struct TypeWrapper
|
||||||
/// Use the type wrapper if you want to dedecouple constness and references from template types
|
/// Use the type wrapper if you want to decouple constness and references from template types.
|
||||||
{
|
{
|
||||||
typedef T TYPE;
|
typedef T TYPE;
|
||||||
typedef const T CONSTTYPE;
|
typedef const T CONSTTYPE;
|
||||||
typedef T& REFTYPE;
|
typedef T& REFTYPE;
|
||||||
typedef const T& CONSTREFTYPE;
|
typedef const T& CONSTREFTYPE;
|
||||||
};
|
};
|
||||||
@ -161,8 +160,7 @@ struct TypeWrapper<T&>
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
} // namespace Poco
|
} // namespace Poco
|
||||||
|
|
||||||
|
|
||||||
#endif
|
#endif // Foundation_MetaProgramming_INCLUDED
|
||||||
|
@ -46,7 +46,13 @@
|
|||||||
|
|
||||||
|
|
||||||
#if defined(POCO_OS_FAMILY_WINDOWS)
|
#if defined(POCO_OS_FAMILY_WINDOWS)
|
||||||
|
#if defined(_WIN32_WCE)
|
||||||
|
#include "Poco/Mutex_WINCE.h"
|
||||||
|
#else
|
||||||
#include "Poco/Mutex_WIN32.h"
|
#include "Poco/Mutex_WIN32.h"
|
||||||
|
#endif
|
||||||
|
#elif defined(POCO_VXWORKS)
|
||||||
|
#include "Poco/Mutex_VX.h"
|
||||||
#else
|
#else
|
||||||
#include "Poco/Mutex_POSIX.h"
|
#include "Poco/Mutex_POSIX.h"
|
||||||
#endif
|
#endif
|
||||||
@ -167,51 +173,51 @@ private:
|
|||||||
|
|
||||||
|
|
||||||
class Foundation_API NullMutex
|
class Foundation_API NullMutex
|
||||||
/// A NullMutex is an empty mutex implementation
|
/// A NullMutex is an empty mutex implementation
|
||||||
/// which performs no locking at all. Useful in policy driven design
|
/// which performs no locking at all. Useful in policy driven design
|
||||||
/// where the type of mutex used can be now a template parameter allowing the user to switch
|
/// where the type of mutex used can be now a template parameter allowing the user to switch
|
||||||
/// between thread-safe and not thread-safe depending on his need
|
/// between thread-safe and not thread-safe depending on his need
|
||||||
/// Works with the ScopedLock class
|
/// Works with the ScopedLock class
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
typedef Poco::ScopedLock<NullMutex> ScopedLock;
|
typedef Poco::ScopedLock<NullMutex> ScopedLock;
|
||||||
|
|
||||||
NullMutex()
|
NullMutex()
|
||||||
/// creates the NullMutex.
|
/// Creates the NullMutex.
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
~NullMutex()
|
~NullMutex()
|
||||||
/// destroys the NullMutex.
|
/// Destroys the NullMutex.
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
void lock()
|
void lock()
|
||||||
/// Always succeeds
|
/// Does nothing.
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
void lock(long milliseconds)
|
void lock(long)
|
||||||
/// Always succeeds
|
/// Does nothing.
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
bool tryLock()
|
bool tryLock()
|
||||||
/// Always returns true
|
/// Does nothing and always returns true.
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool tryLock(long)
|
bool tryLock(long)
|
||||||
/// Always returns true
|
/// Does nothing and always returns true.
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void unlock()
|
void unlock()
|
||||||
/// Always succeeds
|
/// Does nothing.
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user