Typedefs | Enumerations | Functions

ink_hash_table.h File Reference

A brief file description. More...

#include "ink_apidefs.h"
#include <tcl.h>
Include dependency graph for ink_hash_table.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Typedefs

typedef Tcl_HashTable InkHashTable
typedef Tcl_HashEntry InkHashTableEntry
typedef char * InkHashTableKey
typedef ClientData InkHashTableValue
typedef Tcl_HashSearch InkHashTableIteratorState
typedef int(* InkHashTableEntryFunction )(InkHashTable *ht, InkHashTableEntry *entry)

Enumerations

enum  InkHashTableKeyType { InkHashTableKeyType_String, InkHashTableKeyType_Word }

Functions

InkHashTableink_hash_table_create (InkHashTableKeyType key_type)
InkHashTableink_hash_table_destroy (InkHashTable *ht_ptr)
InkHashTableink_hash_table_destroy_and_free_values (InkHashTable *ht_ptr)
InkHashTableink_hash_table_destroy_and_xfree_values (InkHashTable *ht_ptr)
inkcoreapi int ink_hash_table_isbound (InkHashTable *ht_ptr, const char *key)
inkcoreapi int ink_hash_table_lookup (InkHashTable *ht_ptr, const char *key, InkHashTableValue *value_ptr)
inkcoreapi int ink_hash_table_delete (InkHashTable *ht_ptr, const char *key)
InkHashTableEntryink_hash_table_lookup_entry (InkHashTable *ht_ptr, const char *key)
InkHashTableEntryink_hash_table_get_entry (InkHashTable *ht_ptr, const char *key, int *new_value)
void ink_hash_table_set_entry (InkHashTable *ht_ptr, InkHashTableEntry *he_ptr, InkHashTableValue value)
inkcoreapi void ink_hash_table_insert (InkHashTable *ht_ptr, const char *key, InkHashTableValue value)
void ink_hash_table_map (InkHashTable *ht_ptr, InkHashTableEntryFunction map)
InkHashTableKey ink_hash_table_entry_key (InkHashTable *ht_ptr, InkHashTableEntry *entry_ptr)
inkcoreapi InkHashTableValue ink_hash_table_entry_value (InkHashTable *ht_ptr, InkHashTableEntry *entry_ptr)
void ink_hash_table_dump_strings (InkHashTable *ht_ptr)
void ink_hash_table_replace_string (InkHashTable *ht_ptr, InkHashTableKey key, char *str)
static InkHashTableEntryink_hash_table_iterator_first (InkHashTable *ht_ptr, InkHashTableIteratorState *state_ptr)
static InkHashTableEntryink_hash_table_iterator_next (InkHashTable *ht_ptr, InkHashTableIteratorState *state_ptr)

Detailed Description

A brief file description.

License

Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Definition in file ink_hash_table.h.


Typedef Documentation

typedef Tcl_HashTable InkHashTable

Definition at line 50 of file ink_hash_table.h.

typedef Tcl_HashEntry InkHashTableEntry

Definition at line 51 of file ink_hash_table.h.

Definition at line 56 of file ink_hash_table.h.

typedef Tcl_HashSearch InkHashTableIteratorState

Definition at line 54 of file ink_hash_table.h.

typedef char* InkHashTableKey

Definition at line 52 of file ink_hash_table.h.

typedef ClientData InkHashTableValue

Definition at line 53 of file ink_hash_table.h.


Enumeration Type Documentation

Enumerator:
InkHashTableKeyType_String 
InkHashTableKeyType_Word 

Definition at line 60 of file ink_hash_table.h.


Function Documentation

InkHashTable* ink_hash_table_create ( InkHashTableKeyType  key_type  ) 
inkcoreapi int ink_hash_table_delete ( InkHashTable ht_ptr,
const char *  key 
)

Definition at line 208 of file ink_hash_table.cc.

Referenced by RawHashTable::unbindKey().

InkHashTable* ink_hash_table_destroy ( InkHashTable ht_ptr  ) 
InkHashTable* ink_hash_table_destroy_and_free_values ( InkHashTable ht_ptr  ) 
InkHashTable* ink_hash_table_destroy_and_xfree_values ( InkHashTable ht_ptr  ) 
void ink_hash_table_dump_strings ( InkHashTable ht_ptr  ) 

Definition at line 419 of file ink_hash_table.cc.

References DumpStringEntry(), and ink_hash_table_map().

InkHashTableKey ink_hash_table_entry_key ( InkHashTable ht_ptr,
InkHashTableEntry entry_ptr 
)

Definition at line 362 of file ink_hash_table.cc.

Referenced by DumpStringEntry(), and RawHashTable::getKeyFromBinding().

inkcoreapi InkHashTableValue ink_hash_table_entry_value ( InkHashTable ht_ptr,
InkHashTableEntry entry_ptr 
)
InkHashTableEntry* ink_hash_table_get_entry ( InkHashTable ht_ptr,
const char *  key,
int *  new_value 
)
inkcoreapi void ink_hash_table_insert ( InkHashTable ht_ptr,
const char *  key,
InkHashTableValue  value 
)
inkcoreapi int ink_hash_table_isbound ( InkHashTable ht_ptr,
const char *  key 
)
static InkHashTableEntry* ink_hash_table_iterator_first ( InkHashTable ht_ptr,
InkHashTableIteratorState state_ptr 
) [inline, static]
static InkHashTableEntry* ink_hash_table_iterator_next ( InkHashTable ht_ptr,
InkHashTableIteratorState state_ptr 
) [inline, static]
inkcoreapi int ink_hash_table_lookup ( InkHashTable ht_ptr,
const char *  key,
InkHashTableValue value_ptr 
)
InkHashTableEntry* ink_hash_table_lookup_entry ( InkHashTable ht_ptr,
const char *  key 
)
void ink_hash_table_map ( InkHashTable ht_ptr,
InkHashTableEntryFunction  map 
)
void ink_hash_table_replace_string ( InkHashTable ht_ptr,
InkHashTableKey  key,
char *  str 
)
void ink_hash_table_set_entry ( InkHashTable ht_ptr,
InkHashTableEntry he_ptr,
InkHashTableValue  value 
)