struct ov::element::IfTypeOf

Overview

Primary template defines suppoted element types. More…

Detailed Documentation

Primary template defines suppoted element types.

The list of element types is used to check if runtime value of element type is one in the list. Base on this check the Visitor::visit function is called for specific element type.

Parameters:

List

of supported ov::element types.

struct ov::element::IfTypeOf<ET, Others…>

Overview

Applies visitor action for supported element type defined by template parameters. More…

#include <element_visitor.hpp>

template <Type_t ET, Type_t... Others>
struct IfTypeOf<ET, Others...>
{
    // methods

    template <class Visitor, class... Args>
    static auto apply(
        Type_t et,
        Args&&... args
        );
};

Detailed Documentation

Applies visitor action for supported element type defined by template parameters.

Parameters:

ET

Current ov::element type used for check with input.

Others

Others supported ov::element.

template <class Visitor, class... Args>
static auto apply(
    Type_t et,
    Args&&... args
    )

Applies visitor action if input element type is same as ET.

Uses Visitor::visit<ET> function if et == ET, otherwise check input element type against Others.

Parameters:

Visitor

Visitor class implementing visit function.

Args

Types of visit parameters.

et

Input element type.

args

Visitor arguments.

Returns:

Value of result type returned by Visitor.

struct ov::element::IfTypeOf<>

Overview

Applies visitor action for not supported ov::element type. More…

#include <element_visitor.hpp>

template <>
struct IfTypeOf<>
{
    // methods

    template <class Visitor, class... Args>
    static auto apply(
        Type_t et,
        Args&&... args
        );
};

Detailed Documentation

Applies visitor action for not supported ov::element type.

template <class Visitor, class... Args>
static auto apply(
    Type_t et,
    Args&&... args
    )

Applies visitor default action if input element type is not not supported by IfTypeOf.

Uses Visitor::visit non-template function.

Parameters:

Visitor

Visitor class implementing visit function.

Args

Types of visit parameters.

et

Input element type.

args

Visitor arguments.

Returns:

Value of result type returned by Visitor.