Unbounded Sequence

| Home | Libraries | People | FAQ | More

#### Unbounded Sequence

###### Description

A Unbounded Sequence allows Out-of-Bounds access: it will achieve something like a Window Function. Most of the sequences do not meet this concept, but some special usecases do.

| Important
User extending sequences should handle any parameters or be SFINAE-friendly.

Notation

`s`

  An Fusion Sequence

`S`

  An Fusion Sequence type

`M`

  An MPL integral constant

`N`

  An integral constant

`K`

  An arbitrary key type

`o`

  An arbitrary object

`e`

  A Sequence element

###### Valid Expressions

Expression | Return type | Type Requirements | Runtime Complexity
--- | --- | --- | ---
``at_c`<N>(s)` | Any type |  | Depends on its traversability
``at_c`<N>(s) = o` | Any type |  | Depends on its traversability
``at`<M>(s)` | Any type |  | Depends on its traversability
``at`<M>(s) = o` | Any type |  | Depends on its traversability
``at_key`<K>(s)` | Any type | `S` should be Associative Sequence | Depends on its traversability
``at_key`<K>(s) = o` | Any type | `S` should be Associative Sequence | Depends on its traversability

###### Result Type Expressions

Expression | Compile Time Complexity
--- | ---
``result_of::at`<S, M>::type` | Depends on its traversability
``result_of::at_c`<S, N>::type` | Depends on its traversability
``result_of::value_at`<S, M>::type` | Depends on its traversability
``result_of::value_at_c`<S, N>::type` | Depends on its traversability
``result_of::at_key`<S, K>::type` | Depends on its traversability
``result_of::value_at_key`<S, K>::type` | Depends on its traversability

###### Models

- none.