|  | 
| 
| 
 | 
 |  
| Category:containers | Component type:concept |  | 
|  | 
| Description | 
| An MTL TwoDStorage, or just TwoD for short, is mostly just a
 Container of Containers. MTL adds some additional typedef tags and
 the (M,N) for static sizes. Also, the MTL TwoDStorage concept
 requires that its models use "handle" copy semantics, that
 is, copying a TwoD object is shallow. | 
|  | 
| Refinement of | 
| Container of a Container | 
|  | 
| Associated types | 
| 
| Concept | Type name | Description | 
|---|
 | Tag | X::sparsity | dense_tag or sparse_tag |  | Tag | X::strideability | Can this TwoD be accessed "across the grain"? |  | TwoDStorage | X::transpose_type | The TwoD type for accessing "across the grain" |  | Tag | X::storage_loc | external_tag or internal_tag |  | size_type | X::M, N | For static sized |  | 
|  | 
| Notations | 
| 
 | 
|  | 
| Definitions | 
|  | 
|  | 
| Expression semantics | 
| 
| Description | Expression | Semantics |  
    | Copy Constructor | X(x) or X A(x); |  |  
    | Assignment Operator | a = b; |  |  | 
|  | 
| Function specification | 
|  | 
|  | 
| Invariants | 
|  | 
|  | 
| Models | 
|  | 
|  | 
| Notes | 
|  | 
|  | 
| See also | 
|  |