Project #1: Buffer Pool Manager

类图

---
title: Extendible Hashing Table
---
classDiagram
    HashTable <|-- ExtendibleHashTable
    ExtendibleHashTable *-- Bucket
    class HashTable{
        Find(key,value)
        Remove(key,value)
        Insert(key,value)
    }
    class Bucket {
        + IsFull() bool
        + GetDepth() int
        + IncrementDepth()
        + GetItems()
        + Find(key, value) bool
        + Remove(key) bool
        + Insert(key,value) bool
        - size
        - depth_
        - list_
    }

    class ExtendibleHashTable {
        + GetGlobalDepth()
        + GetLocalDepth(int dir_index)
        + GetNumBuckets()
        + Find(key,value)
        + Insert(key,value)
        + Remove(key)
        - global_depth_
        - bucket_size_
        - num_buckets
        - latch_
        - dir_
    }