mirror of
https://github.com/pocoproject/poco.git
synced 2025-01-18 00:15:27 +01: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
|
||||
// Package: Core
|
||||
@ -36,8 +36,8 @@
|
||||
//
|
||||
|
||||
|
||||
#ifndef Foundation_TypeChecks_INCLUDED
|
||||
#define Foundation_TypeChecks_INCLUDED
|
||||
#ifndef Foundation_MetaProgramming_INCLUDED
|
||||
#define Foundation_MetaProgramming_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Foundation.h"
|
||||
@ -48,10 +48,10 @@ namespace Poco {
|
||||
|
||||
template <typename T>
|
||||
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
|
||||
};
|
||||
};
|
||||
@ -77,13 +77,12 @@ struct IsReference<const T&>
|
||||
};
|
||||
|
||||
|
||||
|
||||
template <typename T>
|
||||
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
|
||||
};
|
||||
};
|
||||
@ -111,21 +110,21 @@ struct IsConst<const T>
|
||||
|
||||
template <typename T, int i>
|
||||
struct IsConst<const T[i]>
|
||||
/// Specialization for const char arrays
|
||||
/// Specialization for const char arrays
|
||||
{
|
||||
enum
|
||||
{
|
||||
VALUE = 1
|
||||
};
|
||||
enum
|
||||
{
|
||||
VALUE = 1
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
template <typename T>
|
||||
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 const T CONSTTYPE;
|
||||
typedef T TYPE;
|
||||
typedef const T CONSTTYPE;
|
||||
typedef T& REFTYPE;
|
||||
typedef const T& CONSTREFTYPE;
|
||||
};
|
||||
@ -161,8 +160,7 @@ struct TypeWrapper<T&>
|
||||
};
|
||||
|
||||
|
||||
|
||||
} // namespace Poco
|
||||
|
||||
|
||||
#endif
|
||||
#endif // Foundation_MetaProgramming_INCLUDED
|
||||
|
@ -46,7 +46,13 @@
|
||||
|
||||
|
||||
#if defined(POCO_OS_FAMILY_WINDOWS)
|
||||
#if defined(_WIN32_WCE)
|
||||
#include "Poco/Mutex_WINCE.h"
|
||||
#else
|
||||
#include "Poco/Mutex_WIN32.h"
|
||||
#endif
|
||||
#elif defined(POCO_VXWORKS)
|
||||
#include "Poco/Mutex_VX.h"
|
||||
#else
|
||||
#include "Poco/Mutex_POSIX.h"
|
||||
#endif
|
||||
@ -167,51 +173,51 @@ private:
|
||||
|
||||
|
||||
class Foundation_API NullMutex
|
||||
/// A NullMutex is an empty mutex implementation
|
||||
/// 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
|
||||
/// between thread-safe and not thread-safe depending on his need
|
||||
/// Works with the ScopedLock class
|
||||
/// A NullMutex is an empty mutex implementation
|
||||
/// 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
|
||||
/// between thread-safe and not thread-safe depending on his need
|
||||
/// Works with the ScopedLock class
|
||||
{
|
||||
public:
|
||||
typedef Poco::ScopedLock<NullMutex> ScopedLock;
|
||||
|
||||
NullMutex()
|
||||
/// creates the NullMutex.
|
||||
{
|
||||
}
|
||||
|
||||
~NullMutex()
|
||||
/// destroys the NullMutex.
|
||||
{
|
||||
}
|
||||
typedef Poco::ScopedLock<NullMutex> ScopedLock;
|
||||
|
||||
NullMutex()
|
||||
/// Creates the NullMutex.
|
||||
{
|
||||
}
|
||||
|
||||
~NullMutex()
|
||||
/// Destroys the NullMutex.
|
||||
{
|
||||
}
|
||||
|
||||
void lock()
|
||||
/// Always succeeds
|
||||
{
|
||||
}
|
||||
|
||||
void lock(long milliseconds)
|
||||
/// Always succeeds
|
||||
{
|
||||
}
|
||||
void lock()
|
||||
/// Does nothing.
|
||||
{
|
||||
}
|
||||
|
||||
void lock(long)
|
||||
/// Does nothing.
|
||||
{
|
||||
}
|
||||
|
||||
bool tryLock()
|
||||
/// Always returns true
|
||||
{
|
||||
return true;
|
||||
}
|
||||
bool tryLock()
|
||||
/// Does nothing and always returns true.
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
bool tryLock(long)
|
||||
/// Always returns true
|
||||
{
|
||||
return true;
|
||||
}
|
||||
bool tryLock(long)
|
||||
/// Does nothing and always returns true.
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
void unlock()
|
||||
/// Always succeeds
|
||||
{
|
||||
}
|
||||
void unlock()
|
||||
/// Does nothing.
|
||||
{
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user