feisty meow concerns codebase  2.140
structures::internal_hash_array< key_type, contents > Class Template Reference

#include <hash_table.h>

Inheritance diagram for structures::internal_hash_array< key_type, contents >:
Collaboration diagram for structures::internal_hash_array< key_type, contents >:

Public Member Functions

 internal_hash_array (int estimated_elements)
 
- Public Member Functions inherited from structures::amorph< bucket< key_type, contents > >
 amorph (int elements=0)
 constructs an amorph capable of holding "elements" pointers. More...
 
 ~amorph ()
 
int elements () const
 the maximum number of elements currently allowed in this amorph. More...
 
int valid_fields () const
 Returns the number of fields that have non-null contents. More...
 
void adjust (int new_max)
 Changes the maximum number of elements for this amorph. More...
 
void resize (int new_maximum=0)
 like adjust but doesn't keep existing contents. More...
 
void reset ()
 cleans out all of the contents. More...
 
basis::outcome put (int field, const bucket< key_type, contents > *data)
 Enters an object into the field at index "field" in the amorph. More...
 
basis::outcome append (const bucket< key_type, contents > *data)
 puts "data" on the end of this amorph. More...
 
basis::outcome operator+= (const bucket< key_type, contents > *data)
 a synonym for append. More...
 
const bucket< key_type, contents > * get (int field) const
 Returns a constant pointer to the information at the index "field". More...
 
bucket< key_type, contents > * borrow (int field)
 Returns a pointer to the information at the index "field". More...
 
const bucket< key_type, contents > * operator[] (int field) const
 synonym for get. More...
 
bucket< key_type, contents > * operator[] (int field)
 synonym for borrow. More...
 
bucket< key_type, contents > * acquire (int field)
 Retrieves a "field" from the amorph, taking responsibility for it back. More...
 
basis::outcome clear (int field)
 Clears the contents of the field specified. More...
 
void clear_all ()
 Clears every field in the amorph. More...
 
basis::outcome zap (int start, int end)
 Removes a range of indices from the amorph. More...
 
basis::outcome insert (int position, int lines_to_add)
 Adds "lines_to_add" indices to the amorph at the index "position". More...
 
int find_empty (basis::outcome &o) const
 Returns the index of a free field if there are any. More...
 
const bucket< key_type, contents > * next_valid (int &field) const
 Returns the contents of the next valid element at or after "field". More...
 
int find (const bucket< key_type, contents > *to_locate, basis::outcome &o)
 Searches the amorph for the contents specified. More...
 
void swap_contents (amorph< bucket< key_type, contents > > &other)
 Exchanges the contents of "this" and "other". More...
 

Additional Inherited Members

- Protected Types inherited from basis::array< contents >
enum  specialc_flags {
  NO_SPECIAL_MODES = 0x0 , SIMPLE_COPY = 0x1 , EXPONENTIAL_GROWTH = 0x2 , EXPONE = EXPONENTIAL_GROWTH ,
  FLUSH_INVISIBLE = 0x4
}
 the flags specify how the array treats its contents and its length. More...
 
enum  how_to_copy { NEW_AT_END , NEW_AT_BEGINNING , DONT_COPY }
 
enum  shift_directions { TO_LEFT , TO_RIGHT }
 
- Protected Member Functions inherited from basis::array< contents >
 DEFINE_CLASS_NAME ("array")
 
 array (int number=0, const contents *init=NULL_POINTER, int flags=EXPONENTIAL_GROWTH|FLUSH_INVISIBLE)
 Constructs an array with room for "number" objects. More...
 
 array (const array< contents > &copy_from)
 copies the contents & sizing information from "copy_from". More...
 
virtual ~array ()
 destroys the memory allocated for the objects. More...
 
void reset (int number=0, const contents *initial_contents=NULL_POINTER)
 Resizes this array and sets the contents from an array of contents. More...
 
arrayoperator= (const array< contents > &copy_from)
 Copies the array in "copy_from" into this. More...
 
int length () const
 Returns the current reported length of the allocated C array. More...
 
int last () const
 Returns the last valid element in the array. More...
 
int flags () const
 Provides the raw flags value, without interpreting what it means. More...
 
bool exponential () const
 Returns true if this allocator will grow exponentially on resize. More...
 
bool simple () const
 Reports whether the templated object is a simple type or not. More...
 
const contents & get (int index) const
 Accesses individual objects stored in "this" at the "index" position. More...
 
contents & use (int index)
 A non-constant version of get(); the returned object can be modified. More...
 
const contents & operator[] (int index) const
 Synonym for get that provides the expected array indexing syntax. More...
 
contents & operator[] (int index)
 Synonym for use that provides the expected array indexing syntax. More...
 
outcome put (int index, const contents &to_put)
 Stores an object at the index "index" in the array. More...
 
array concatenation (const array &to_concatenate) const
 Returns the concatenation of "this" and the array "to_concatenate". More...
 
array concatenation (const contents &to_concatenate) const
 Returns the concatenation of "this" and the object "to_concatenate". More...
 
arrayconcatenate (const array &to_concatenate)
 Appends the array "to_concatenate" onto "this" and returns "this". More...
 
arrayconcatenate (const contents &to_concatenate)
 Appends the object "to_concatenate" onto "this" and returns "this". More...
 
arrayconcatenate (const contents *to_concatenate, int length)
 Concatenates a C-array "to_concatenate" onto "this" and returns "this". More...
 
array operator+ (const array &to_cat) const
 Synonym for concatenation. More...
 
array operator+ (const contents &to_concatenate) const
 Synonym for concatenation. More...
 
arrayoperator+= (const array &to_concatenate)
 Synonym for concatenate that modifies "this". More...
 
arrayoperator+= (const contents &to_concatenate)
 Synonym for concatenate that modifies "this". More...
 
const contents * observe () const
 Returns a pointer to the underlying C array of data. More...
 
contents * access ()
 A non-constant access of the underlying C-array. BE REALLY CAREFUL. More...
 
void swap_contents (array< contents > &other)
 Exchanges the contents of "this" and "other". More...
 
void snarf (array &new_contents)
 Drops "this" array's contents into the dustbin and uses "new_contents". More...
 
array subarray (int start, int end) const
 Returns the array segment between the indices "start" and "end". More...
 
outcome insert (int index, int new_indices)
 Adds "new_indices" new positions for objects into the array at "index". More...
 
outcome overwrite (int index, const array &write_with, int count=-1)
 Stores the array "write_with" into the current array at the "index". More...
 
outcome stuff (int length, contents *to_stuff) const
 Copies at most "length" elements from this into the array "to_stuff". More...
 
outcome resize (int new_size, how_to_copy way=NEW_AT_END)
 Changes the size of the C array to "new_size". More...
 
outcome zap (int start, int end)
 Deletes from "this" the objects inclusively between "start" and "end". More...
 
outcome shrink ()
 Cuts loose any allocated space that is beyond the real length. More...
 
outcome retrain (int new_size, const contents *to_copy)
 Resizes the C array and stuffs it with the contents in "to_copy". More...
 
void shift_data (shift_directions where)
 The valid portion of the array is moved to the left or right. More...
 
int internal_real_length () const
 Gritty Internal: the real allocated length. More...
 
int internal_offset () const
 Gritty Internal: the offset from real start to stored data. More...
 
const contents * internal_block_start () const
 Gritty Internal: constant peek at the real allocated pointer. More...
 
contents * internal_block_start ()
 Gritty Internal: the real allocated pointer made accessible. More...
 
contents *const * internal_offset_mem () const
 Gritty Internal: the start of the actual stored data. More...
 

Detailed Description

template<class key_type, class contents>
class structures::internal_hash_array< key_type, contents >

Definition at line 249 of file hash_table.h.

Constructor & Destructor Documentation

◆ internal_hash_array()

template<class key_type , class contents >
structures::internal_hash_array< key_type, contents >::internal_hash_array ( int  estimated_elements)
inline

Definition at line 252 of file hash_table.h.


The documentation for this class was generated from the following file: