trunk/branch integration: documentation

This commit is contained in:
Marian Krivos 2011-08-23 06:53:27 +00:00
parent 5cdea0c145
commit 9110aafc25
2 changed files with 64 additions and 60 deletions

View File

@ -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

View File

@ -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.
{ {
} }
}; };