| Home | Libraries | People | FAQ | More

### joint_view

##### Description

`joint_view` presents a view which is a concatenation of two sequences.

##### Header

    #include <boost/fusion/view/joint_view.hpp>
    #include <boost/fusion/include/joint_view.hpp>

##### Synopsis

    template <typename Sequence1, typename Sequence2>
    struct joint_view;

##### Template parameters

Parameter | Description | Default
--- | --- | ---
`Sequence1` | A Forward Sequence |
`Sequence2` | A Forward Sequence |

##### Model of

- Forward Sequence
- Associative Sequence if `Sequence1` and `Sequence2` implement the Associative Sequence model.

Notation

`JV`

  A `joint_view` type

`s1`

  An instance of `Sequence1`

`s2`

  An instance of `Sequence2`

`jv`, `jv2`

  Instances of `joint_view`

##### Expression Semantics

Semantics of an expression is defined only where it differs from, or is not defined in the implemented models.

Expression | Semantics
--- | ---
`JV(s1, s2)` | Creates a `joint_view` given sequences, `s1` and `s2`.
`JV(jv)` | Copy constructs a `joint_view` from another `joint_view`, `jv`.
`jv = jv2` | Assigns to a `joint_view`, `jv`, from another `joint_view`, `jv2`.

##### Example

    vector<int, char> v1(3, 'x');
    vector<std::string, int> v2("hello", 123);
    joint_view<
        vector<int, char>
      , vector<std::string, int>
    > view(v1, v2);
    std::cout << view << std::endl;