# Concept ComparableConcept
A type that can be compared.

Extends | EqualityComparableConcept, LessThanComparableConcept
All Extended | EqualityComparableConcept, LessThanComparableConcept
All Subcl's | FiniteOrderedAlphabetConcept, IntegerConcept, OrderedAlphabetConcept, SignedIntegerConcept, UnsignedIntegerConcept
Defined in | <seqan/basic.h>
Signature | `Comparable<T>`

## Detailed Description

Expects instances of type `T` to be comparable. Comparison operators must return boolean convertible values.

### Valid Expressions

    a < b;
    a > b;
    a <= b;
    a >= b;

Invariants:

- `(a < b)` <=> `b > a`
- `(a <= b)` <=> `b >= a`
- `(a == b)` <=> `(a >= b) && (b >= a)`

## See Also

- EqualityComparableConcept
- LessThanComparableConcept

## Member Function Overview

- `bool T::operator>(T const & other) const;`
  C++ built-in greater-than comparison operator.

### Member Functions Inherited From EqualityComparableConcept

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

### Member Functions Inherited From LessThanComparableConcept

- `operator<`

## Interface Function Overview

- `bool T::operator<=(T const & other) const;`
  C++ built-in less-than-or-equal comparison operator.
- `bool T::operator>=(T const & other) const;`
  C++ built-in greather-than-or-equal comparison operator.

## Member Functions Detail

### `bool T::operator>(T const & other) const;`

C++ built-in greater-than comparison operator.

This operator can be implemented as a member or a global function.

#### Data Races

Thread safety unknown!

## Interface Functions Detail

### `bool T::operator<=(T const & other) const;`

C++ built-in less-than-or-equal comparison operator.

This operator can be implemented as a member or a global function.

#### Data Races

Thread safety unknown!

### `bool T::operator>=(T const & other) const;`

C++ built-in greather-than-or-equal comparison operator.

This operator can be implemented as a member or a global function.

#### Data Races

Thread safety unknown!

#### Dox Sources

    /*!
     * @concept ComparableConcept
     *
     * @headerfile <seqan/basic.h>
     *
     * @extends EqualityComparableConcept
     * @extends LessThanComparableConcept
     *
     * @brief A type that can be compared.
     *
     * @signature Comparable<T>
     *
     * Expects instances of type <tt>T</tt> to be comparable. Comparison operators
     * must return boolean convertible values.
     *
     * @section Valid Expressions
     *
     * @code{.cpp}
     * a < b;
     * a > b;
     * a <= b;
     * a >= b;
     * @endcode
     *
     *
     * Invariants:
     *
     * <ul> <li><tt>(a &lt; b)</tt> <=> <tt>b &gt; a</tt></li> <li><tt>(a &lt;=
     * b)</tt> <=> <tt>b &gt;= a</tt></li> <li><tt>(a == b)</tt> <=> <tt>(a &gt;= b)
     * &amp;&amp; (b &gt;= a)</tt></li> </ul>
     *
     * @see EqualityComparableConcept
     * @see LessThanComparableConcept
     *
     * @fn ComparableConcept::operator>
     *
     * @brief C++ built-in greater-than comparison operator.
     *
     * @signature bool T::operator>(T const & other) const;
     *
     * This operator can be implemented as a member or a global function.
     *
     * @fn ComparableConcept#operator<=
     *
     * @brief C++ built-in less-than-or-equal comparison operator.
     *
     * @signature bool T::operator<=(T const & other) const;
     *
     * This operator can be implemented as a member or a global function.
     *
     * @fn ComparableConcept#operator>=
     *
     * @brief C++ built-in greather-than-or-equal comparison operator.
     *
     * @signature bool T::operator>=(T const & other) const;
     *
     * This operator can be implemented as a member or a global function.
     */