# Spec UndirectedGraph
An undirected graph that stores the edges in an adjacency list.

Extends | Graph
All Extended | Graph
All Impl'd | AssignableConcept, ContainerConcept, DestructibleConcept
Defined in | <seqan/graph_types.h>
Signature | `template <[typename TCargo[, typename Spec]]> class Graph<Undirected<TCargo, TSpec> >;`

## Template Parameters

`TCargo` | The cargo type that can be attached to the edges. Default: `void`.
`TSpec` | The specializing type. Default: `Default`. NB: if edges do not store ids then external property maps do not work.

## Member Function Overview

### Member Functions Inherited From AssignableConcept

- `operator=`

## Interface Function Overview

### Interface Functions Inherited From Graph

- `addEdge`
- `addEdges`
- `addVertex`
- `assignEdgeMap`
- `assignVertexMap`
- `clear`
- `clearEdges`
- `clearVertices`
- `degree`
- `empty`
- `findEdge`
- `getAdjacencyMatrix`
- `getNil`
- `getVertexAdjacencyVector`
- `inDegree`
- `numEdges`
- `numVertices`
- `outDegree`
- `removeEdge`
- `removeInEdges`
- `removeOutEdges`
- `removeVertex`
- `resizeEdgeMap`
- `resizeVertexMap`
- `sourceVertex`
- `targetVertex`
- `transpose`
- `write`

### Interface Functions Inherited From AssignableConcept

- `assign`
- `set`
- `move`

### Interface Functions Inherited From ContainerConcept

- `begin`
- `end`
- `length`
- `empty`
- `swap`
- `writeValue`
- `write`
- `getObjectId`
- `moveValue`
- `append`
- `appendValue`
- `shrinkToFit`
- `directionIterator`

## Interface Metafunction Overview

### Interface Metafunctions Inherited From Graph

- `Cargo`
- `EdgeDescriptor`
- `EdgeIdHandler`
- `EdgeType`
- `Size`
- `VertexIdHandler`

### Interface Metafunctions Inherited From ContainerConcept

- `DefaultGetIteratorSpec`
- `DefaultIteratorSpec`
- `Difference`
- `DirectionIterator`
- `GetValue`
- `Iterator`
- `Position`
- `Reference`
- `Size`
- `Value`

## Detailed Description

#### Dox Sources

    /*!
     * @class UndirectedGraph
     *
     * @extends Graph
     *
     * @headerfile <seqan/graph_types.h>
     *
     * @brief An undirected graph that stores the edges in an adjacency list.
     *
     * @signature template <[typename TCargo[, typename Spec]]> class
     *            Graph<Undirected<TCargo, TSpec> >;
     *
     * @tparam TCargo The cargo type that can be attached to the edges. Default:
     *                <tt>void</tt>.
     * @tparam TSpec The specializing type. Default: <tt>Default</tt>. NB: if edges
     *               do not store ids then external property maps do not work.
     *
     * <img src="undirectedGraph.png" title="An undirected graph with multiple
     * components." />
     */