namespace ngraph::snippets::op

namespace op {

// templates

template BroadcastLoad;
template BroadcastMove;
template ConvertSaturation;
template ConvertTruncation;
template Kernel;
template Load;
template Nop;
template PowerStatic;
template Scalar;
template Store;
template Subgraph;
template Tile;
template TileScheduler;

// global functions

static std::ostream& operator << (
    std::ostream& os,
    const op::Subgraph::BlockedShape& blocked_shape
    );

static auto create_body(
    std::string name,
    const ngraph::ResultVector& results,
    const ngraph::ParameterVector& parameters
    );

static auto build_subgraph(
    const std::shared_ptr<ngraph::Node>& node,
    const ngraph::OutputVector& inputs,
    const std::shared_ptr<ov::Model>& body,
    const std::string name = ""
    );

} // namespace op