Share via


hash_set::max_load_factor (STL/CLR)

Gets or sets the maximum elements per bucket.

    float max_load_factor();
    void max_load_factor(float new_factor);

Parameters

  • new_factor
    New maximum load factor to store.

Remarks

The first member function returns the current stored maximum load factor. You use it to determine the maximum average bucket size.

The second member function replaces the store maximum load factor with new_factor. No automatic rehashing occurs until a subsequent insert.

Example

// cliext_hash_set_max_load_factor.cpp 
// compile with: /clr 
#include <cliext/hash_set> 
 
typedef cliext::hash_set<wchar_t> Myhash_set; 
int main() 
    { 
    Myhash_set c1; 
    c1.insert(L'a'); 
    c1.insert(L'b'); 
    c1.insert(L'c'); 
 
// display initial contents " a b c" 
    for each (wchar_t elem in c1) 
        System::Console::Write(" {0}", elem); 
    System::Console::WriteLine(); 
 
// inspect current parameters 
    System::Console::WriteLine("bucket_count() = {0}", c1.bucket_count()); 
    System::Console::WriteLine("load_factor() = {0}", c1.load_factor()); 
    System::Console::WriteLine("max_load_factor() = {0}", 
        c1.max_load_factor()); 
    System::Console::WriteLine(); 
 
// change max_load_factor and redisplay 
    c1.max_load_factor(0.25f); 
    System::Console::WriteLine("bucket_count() = {0}", c1.bucket_count()); 
    System::Console::WriteLine("load_factor() = {0}", c1.load_factor()); 
    System::Console::WriteLine("max_load_factor() = {0}", 
        c1.max_load_factor()); 
    System::Console::WriteLine(); 
 
// rehash and redisplay 
    c1.rehash(100); 
    System::Console::WriteLine("bucket_count() = {0}", c1.bucket_count()); 
    System::Console::WriteLine("load_factor() = {0}", c1.load_factor()); 
    System::Console::WriteLine("max_load_factor() = {0}", 
        c1.max_load_factor()); 
    return (0); 
    } 
 

a b c bucket_count() = 16 load_factor() = 0.1875 max_load_factor() = 4 bucket_count() = 16 load_factor() = 0.1875 max_load_factor() = 0.25 bucket_count() = 128 load_factor() = 0.0234375 max_load_factor() = 0.25

Requirements

Header: <cliext/hash_set>

Namespace: cliext

See Also

Reference

hash_set (STL/CLR)

hash_set::bucket_count (STL/CLR)

hash_set::load_factor (STL/CLR)

hash_set::rehash (STL/CLR)