---
name: "ACE_Refcounted_Hash_Recyclable"
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_Refcounted_Hash_Recyclable"
---

# ACE\_Refcounted\_Hash\_Recyclable(3)

## NAME

ACE\_Refcounted\_Hash\_Recyclable

## SYNOPSIS

```
#include <ace/ACE_Strategies_T.h>
template<class T>
class ACE_Refcounted_Hash_Recyclable :
  public ACE_Refcountable,
  public ACE_Hashable,
  public ACE_Recyclable
{
  public:
    ACE_Refcounted_Hash_Recyclable (void);
    ACE_Refcounted_Hash_Recyclable (
        const T &t,
        int refcount = 0,
        ACE_Recyclable_State state = ACE_RECYCLABLE_UNKNOWN
        );
    virtual ~ACE_Refcounted_Hash_Recyclable (void);
    int operator== (
        const ACE_Refcounted_Hash_Recyclable<T> &rhs
        ) const;
    int operator!= (
        const ACE_Refcounted_Hash_Recyclable<T> &rhs
        ) const;
    T &subject ();
  protected:
    u_long hash_i (void) const;
    T t_;
};
```

## PUBLIC MEMBERS

```
ACE_Refcounted_Hash_Recyclable (void);
```

Default constructor.

```
ACE_Refcounted_Hash_Recyclable (
    const T &t,
    int refcount = 0,
    ACE_Recyclable_State state = ACE_RECYCLABLE_UNKNOWN
    );
```

Constructor.

```
virtual ~ACE_Refcounted_Hash_Recyclable (void);
```

Destructor

```
int operator== (const ACE_Refcounted_Hash_Recyclable<T> &rhs) const;
```

```
int operator!= (const ACE_Refcounted_Hash_Recyclable<T> &rhs) const;
```

Compares two instances.

```
T &subject ();
```

## PROTECTED MEMBERS

```
u_long hash_i (void) const;
```

Computes and returns hash value.

```
T t_;
```

## AUTHOR

Doug Schmidt

## LIBRARY

ace
