# Concept LessThanComparableConcept
A type that can be less-than compared.

All Subcl's | ComparableConcept, FiniteOrderedAlphabetConcept, IntegerConcept, MutableRandomAccessIteratorConcept, MutableRootedRandomAccessIteratorConcept, OrderedAlphabetConcept, RandomAccessIteratorConcept, RootedRandomAccessIteratorConcept, SignedIntegerConcept, UnsignedIntegerConcept
Defined in | <seqan/basic.h>
Signature | `LessThanComparable<T>`

## Detailed Description

Expects instances of type `T` to be comparable via `operator<`. Comparison operator must return a boolean convertible value. `operator<`must be a partial ordering.``

### Valid Expressions

    a < b;

Invariants:

- `!(a < a)` (irreflexivity)
- `!(b < a)` => `a < b` (antisymmetry)
- `(a < b) && (b < c)` => `a < c` (transitivity)

## See Also

- ComparableConcept

## Member Function Overview

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

## Member Functions Detail

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

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

#### Data Races

Thread safety unknown!

#### Dox Sources

    /*!
     * @concept LessThanComparableConcept
     *
     * @headerfile <seqan/basic.h>
     *
     * @brief A type that can be less-than compared.
     *
     * @signature LessThanComparable<T>
     *
     * Expects instances of type <tt>T</tt> to be comparable via <tt>operator<</tt>.
     * Comparison operator must return a boolean convertible value.
     * <tt>operator&lt;<tt> must be a partial ordering.
     *
     * @section Valid Expressions
     *
     * @code{.cpp}
     * a < b;
     * @endcode
     *
     *
     * Invariants: <ul> <li><tt>!(a &lt; a)</tt> (irreflexivity)</li> <li><tt>!(b
     * &lt; a)</tt> => <tt>a < b</tt> (antisymmetry)</li> <li><tt>(a &lt; b)
     * &amp;&amp; (b < c)</tt> =&gt; <tt>a &lt; c</tt> (transitivity)</li> </ul>
     *
     * @see ComparableConcept
     *
     * @fn LessThanComparableConcept::operator<
     *
     * @brief C++ built-in less-than comparison operator.
     *
     * @signature bool T::operator<(T const & other) const;
     */