Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

76 lines
1.5 KiB

// Blob.cpp -- Blob primitives
// (c) Copyright Schlumberger Technology Corp., unpublished work, created
// 1999. This computer program includes Confidential, Proprietary
// Information and is a Trade Secret of Schlumberger Technology Corp. All
// use, disclosure, and/or reproduction is prohibited unless authorized
// in writing. All Rights Reserved.
#if defined(_UNICODE)
#if !defined(UNICODE)
#define UNICODE
#endif //!UNICODE
#endif //_UNICODE
#if defined(UNICODE)
#if !defined(_UNICODE)
#define _UNICODE
#endif //!_UNICODE
#endif //UNICODE
#include "NoWarning.h"
#include "ForceLib.h"
#include <limits>
#include "Blob.h"
using namespace std;
Blob const
AsBlob(std::string const &rrhs)
{
return reinterpret_cast<Blob const &>(rrhs);
}
Blob
AsBlob(std::string &rrhs)
{
return reinterpret_cast<Blob &>(rrhs);
}
string const
AsString(Blob const &rrhs)
{
return reinterpret_cast<string const &>(rrhs);
}
string
AsString(Blob &rrhs)
{
return reinterpret_cast<string &>(rrhs);
}
const char*
AsCCharP(LPCTSTR pczs)
{
return reinterpret_cast<const char*>(pczs);
}
Blob::size_type
LengthFromBits(size_t cBitLength)
{
Blob::size_type cLength =
cBitLength / numeric_limits<Blob::value_type>::digits;
if (0 != (cBitLength % numeric_limits<Blob::value_type>::digits))
++cLength;
return cLength;
}
size_t
LengthInBits(Blob::size_type cSize)
{
return cSize * numeric_limits<Blob::value_type>::digits;
}