# Spec BitPackedPair
Stores two arbitrary objects. Saves memory by packing bits with bit fields.

Extends | Pair
All Extended | Pair
All Impl'd | ComparableConcept, EqualityComparableConcept, LessThanComparableConcept
Defined in | <seqan/basic.h>
Signature | `template <typename T1, typename T2, unsigned BITSIZE1, unsigned BITSIZE2> class Pass;`

## Template Parameters

`T1` | Type of first entry.
`T2` | Type of second entry.
`BITSIZE1` | Number of bits to store for `T1`.
`BITSIZE2` | Number of bits to store for `T2`.

## Member Function Overview

### Member Functions Inherited From ComparableConcept

- `operator>`

### Member Functions Inherited From EqualityComparableConcept

- `operator!=`
- `operator==`

### Member Functions Inherited From LessThanComparableConcept

- `operator<`

## Interface Function Overview

### Interface Functions Inherited From Pair

- `assignValueI1`
- `assignValueI2`
- `getValueI1`
- `getValueI2`
- `Pair`
- `setValueI1`
- `setValueI2`

### Interface Functions Inherited From ComparableConcept

- `operator<=`
- `operator>=`

## Interface Metafunction Overview

### Interface Metafunctions Inherited From Pair

- `LENGTH`
- `Spec`
- `Value`

## Member Variable Overview

### Member Variables Inherited From Pair

- `i1`
- `i2`

## Detailed Description

Useful for external storage.

### Remarks

Memory access could be slower. Direct access to members by pointers is not allowed.

Functions `value()` is not implemented yet since there it would require using a proxy. Use `getValue()`, `assignValue()`, `moveValue()`, `setValue()` instead.

#### Dox Sources

    /*!
     * @class BitPackedPair
     *
     * @extends Pair
     *
     * @headerfile <seqan/basic.h>
     *
     * @brief Stores two arbitrary objects. Saves memory by packing bits with bit
     *        fields.
     *
     * @signature template <typename T1, typename T2, unsigned BITSIZE1, unsigned
     *            BITSIZE2> class Pass;
     *
     * @tparam T1 Type of first entry.
     * @tparam T2 Type of second entry.
     * @tparam BITSIZE1 Number of bits to store for <tt>T1</tt>.
     * @tparam BITSIZE2 Number of bits to store for <tt>T2</tt>.
     *
     * Useful for external storage.
     *
     * @section Remarks
     *
     * Memory access could be slower. Direct access to members by pointers is not
     * allowed.
     *
     * Functions <tt>value()</tt> is not implemented yet since there it would
     * require using a proxy. Use <tt>getValue()</tt>, <tt>assignValue()</tt>,
     * <tt>moveValue()</tt>, <tt>setValue()</tt> instead.
     */