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.
|
|
//----------------------------------------------------------------------------- // // File: dbid.inl // Copyright (C) 1994-1997 Microsoft Corporation // All rights reserved. // // // //----------------------------------------------------------------------------- //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // // every new DBID is null // //----------------------------------------------------------------------------- inline DBID::DBID() { m_l = 0;
DEBUGONLY(++m_UsageCounter); }
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // // a DBID can be created from a valid LONG // //----------------------------------------------------------------------------- inline DBID::DBID( LONG l) { LTASSERT(l > 0);
m_l = l;
DEBUGONLY(++m_UsageCounter); }
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // // a DBID can be created from a valid other dbid // //----------------------------------------------------------------------------- inline DBID::DBID( const DBID& id) { ASSERT_VALID(&id);
m_l = id.m_l;
DEBUGONLY(++m_UsageCounter); }
inline DBID::~DBID() { DEBUGONLY(--m_UsageCounter); }
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // // sets the DBID to a valid value // only a null DBID can be set // any attempt to change a valid DBID will cause an assertion failure // //----------------------------------------------------------------------------- inline void DBID::Set( LONG l) { ASSERT_VALID(this); LTASSERT(l > 0); LTASSERT(m_l == 0);
m_l = l; }
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // // sets the DBID to a valid value // only a null DBID can be set // any attempt to change a valid DBID will cause an assertion failure // //----------------------------------------------------------------------------- inline void DBID::operator=( const DBID& id) { ASSERT_VALID(this); LTASSERT(m_l == 0); ASSERT_VALID(&id);
m_l = id.m_l; }
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // // LONG operator, the only way to get the value of a DBID, any attempt to get // the value of a null DBID will cause an assertion failure // //----------------------------------------------------------------------------- inline DBID::operator LONG () const { ASSERT_VALID(this); LTASSERT(m_l > 0);
return m_l; }
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // // the only way to clear (make it null) the dbid must be explicit // //----------------------------------------------------------------------------- inline void DBID::Clear() { ASSERT_VALID(this);
m_l = 0; }
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // // the only way to know if a dbid is null // //----------------------------------------------------------------------------- inline BOOL DBID::IsNull() const { ASSERT_VALID(this);
return (m_l == 0); }
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // // == operator // //----------------------------------------------------------------------------- inline int DBID::operator==( const DBID &dbid) const { ASSERT_VALID(this);
return m_l == dbid.m_l; }
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // // != operator // //----------------------------------------------------------------------------- inline int DBID::operator!=( const DBID &dbid) const { ASSERT_VALID(this);
return m_l != dbid.m_l; }
|