template struct cv::v_reg

Overview

#include <intrin_cpp.hpp>

template <
    typename _Tp,
    int n
    >
struct v_reg
{
    // construction

    v_reg(const _Tp* ptr);

    v_reg(
        _Tp s0,
        _Tp s1
        );

    v_reg(
        _Tp s0,
        _Tp s1,
        _Tp s2,
        _Tp s3
        );

    v_reg(
        _Tp s0,
        _Tp s1,
        _Tp s2,
        _Tp s3,
        _Tp s4,
        _Tp s5,
        _Tp s6,
        _Tp s7
        );

    v_reg(
        _Tp s0,
        _Tp s1,
        _Tp s2,
        _Tp s3,
        _Tp s4,
        _Tp s5,
        _Tp s6,
        _Tp s7,
        _Tp s8,
        _Tp s9,
        _Tp s10,
        _Tp s11,
        _Tp s12,
        _Tp s13,
        _Tp s14,
        _Tp s15
        );

    v_reg();
    v_reg(const v_reg<_Tp, n>& r);

    // methods

    _Tp
    get0() const;
};

Detailed Documentation

Construction

v_reg(const _Tp* ptr)

Constructor.

Initializes register with data from memory

Parameters:

ptr pointer to memory block with data for register
v_reg(
    _Tp s0,
    _Tp s1
    )

Constructor.

Initializes register with two 64-bit values

v_reg(
    _Tp s0,
    _Tp s1,
    _Tp s2,
    _Tp s3
    )

Constructor.

Initializes register with four 32-bit values

v_reg(
    _Tp s0,
    _Tp s1,
    _Tp s2,
    _Tp s3,
    _Tp s4,
    _Tp s5,
    _Tp s6,
    _Tp s7
    )

Constructor.

Initializes register with eight 16-bit values

v_reg(
    _Tp s0,
    _Tp s1,
    _Tp s2,
    _Tp s3,
    _Tp s4,
    _Tp s5,
    _Tp s6,
    _Tp s7,
    _Tp s8,
    _Tp s9,
    _Tp s10,
    _Tp s11,
    _Tp s12,
    _Tp s13,
    _Tp s14,
    _Tp s15
    )

Constructor.

Initializes register with sixteen 8-bit values

v_reg()

Default constructor.

Does not initialize anything

v_reg(const v_reg<_Tp, n>& r)

Copy constructor.

Methods

_Tp
get0() const

Access first value.

Returns value of the first lane according to register type, for example:

v_int32x4 r(1, 2, 3, 4);
int v = r.get0(); // returns 1
v_uint64x2 r(1, 2);
uint64_t v = r.get0(); // returns 1