---
name: "ACE_Hashable"
section: "3"
platform: "linux"
package: "libace-doc"
version: "5.0.7-4"
release: "Debian 2.2 (Potato)"
platforms: ["linux"]
url: "https://new.carta.tech/ACE_Hashable"
---

# ACE\_Hashable(3)

## NAME

ACE\_Hashable

## SYNOPSIS

```
#include <ace/Strategies.h>
class ACE_Hashable
{
  public:
    virtual ~ACE_Hashable (void);
    virtual u_long hash (void) const;
  protected:
    ACE_Hashable (void);
    virtual u_long hash_i (void) const = 0;
    u_long hash_value_;
};
```

## PUBLIC MEMBERS

```
virtual ~ACE_Hashable (void);
```

Destructor.

```
virtual u_long hash (void) const;
```

Computes and returns hash value.  This "caches" the hash value to improve performance.

## PROTECTED MEMBERS

```
ACE_Hashable (void);
```

Protected constructor.

```
virtual u_long hash_i (void) const = 0;
```

This is the method that actually performs the non-cached hash computation.

```
u_long hash_value_;
```

Pre-computed hash-value.

## AUTHOR

Doug Schmidt

## LIBRARY

ace
