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.
 
 
 
 
 
 

62 lines
1.4 KiB

//+---------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 1991 - 1992.
//
// File: DIRTREE.HXX
//
// Contents: Directory Tree
//
// Classes: CDirTree
//
// History: 13-Aug-91 BartoszM Created
//
//----------------------------------------------------------------------------
#pragma once
class CKey;
class CKeyBuf;
//+---------------------------------------------------------------------------
//
// Class: CDirTree
//
// Purpose: Directory tree
//
// History: 13-Jun-91 BartoszM Created
//
//----------------------------------------------------------------------------
class CDirTree
{
public:
CDirTree(): _count(0) {
_pKeys = new CKeyArray(1);
}
~CDirTree() { delete _pKeys; }
void Init ( unsigned count );
void Init ( CKeyArray& keys, unsigned count );
void Add ( unsigned i, const CKeyBuf& key );
void Done( unsigned i );
unsigned Seek ( const CKey& key ) const;
unsigned CountLeaf() { return _count - _firstLeaf; }
#ifdef CIEXTMODE
void CiExtDump(void *ciExtSelf);
#endif
private:
unsigned Index( unsigned i );
unsigned _digits; // number of binary digits in _count
unsigned _count;
unsigned _firstLeaf;
CKeyArray * _pKeys;
};