Data Structures | Defines | Typedefs | Functions

Map.h File Reference

A set of Map templates. More...

#include <stdlib.h>
#include <string.h>
#include "ink_assert.h"
#include "List.h"
#include "Vec.h"
Include dependency graph for Map.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

class  MapElem< K, C >
class  Map< K, C, A >
class  HashFns< C >
class  HashSetFns< K, C >
class  HashMap< K, AHashFns, C, A >
class  HashSet< K, AHashFns, C, A >
class  StringHashFns
class  CaseStringHashFns
class  PointerHashFns
class  ChainHash< C, AHashFns, A >
class  ChainHashMap< K, AHashFns, C, A >
class  StringChainHash< F, A >
class  NBlockHash< C, AHashFns, N, A >
class  BlockHash< C, ABlockHashFns >
class  Env< K, C, A >
class  TSHashTable< H >
 A hash map usable by ATS core. More...
struct  TSHashTable< H >::Bucket
 Hash bucket. More...
struct  TSHashTable< H >::Location
 Information about locating a value in the hash table. More...
struct  TSHashTable< H >::iterator
 Standard iterator for walking the table. More...

Defines

#define MAP_INTEGRAL_SIZE   (1 << (2))
#define form_Map(_c, _p, _v)
#define DEFAULT_BLOCK_HASH_SIZE   4

Typedefs

typedef const char cchar
typedef BlockHash< cchar
*, StringHashFns
StringBlockHash

Functions

template<class A >
static char * _dupstr (cchar *s, cchar *e=0)
template<class K , class C , class A >
void map_set_add (Map< K, Vec< C, A > *, A > &m, K akey, C avalue)
template<class K , class C , class A >
void map_set_add (Map< K, Vec< C, A > *, A > &m, K akey, Vec< C > *madd)
void test_map ()

Detailed Description

A set of Map templates.

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 Map.h.


Define Documentation

#define DEFAULT_BLOCK_HASH_SIZE   4

Definition at line 216 of file Map.h.

#define form_Map (   _c,
  _p,
  _v 
)
Value:
if ((_v).n) for (_c *qq__##_p = (_c*)0, *_p = &(_v).v[0]; \
             ((uintptr_t)(qq__##_p) < (_v).n) && ((_p = &(_v).v[(uintptr_t)qq__##_p]) || 1); \
             qq__##_p = (_c*)(((uintptr_t)qq__##_p) + 1)) \
          if ((_p)->key)

Definition at line 109 of file Map.h.

#define MAP_INTEGRAL_SIZE   (1 << (2))

Typedef Documentation

typedef const char cchar

Definition at line 37 of file Map.h.

Definition at line 219 of file Map.h.


Function Documentation

template<class A >
static char* _dupstr ( cchar s,
cchar e = 0 
) [inline, static]

Definition at line 41 of file Map.h.

References memcpy.

template<class K , class C , class A >
void map_set_add ( Map< K, Vec< C, A > *, A > &  m,
akey,
avalue 
) [inline]

Definition at line 322 of file Map.h.

References Vec< C, A, S >::set_add().

template<class K , class C , class A >
void map_set_add ( Map< K, Vec< C, A > *, A > &  m,
akey,
Vec< C > *  madd 
) [inline]

Definition at line 330 of file Map.h.

References Vec< C, A, S >::set_union().

void test_map (  )