namespace ov::op::nms::validate

namespace validate {

// global functions

template <class TShape>
bool scalar(const TShape& shape);

template <class TShape>
bool scalar_or_1d_tensor_with_1_element(const TShape& shape);

template <class TShape>
void boxes_shape(
    const Node \*const op,
    const std::vector<TShape>& input_shapes
    );

template <class TShape>
void scores_shape(
    const Node \*const op,
    const std::vector<TShape>& input_shapes
    );

template <class TShape>
void num_batches(
    const Node \*const op,
    const std::vector<TShape>& input_shapes
    );

template <class TShape>
void num_boxes(
    const Node \*const op,
    const std::vector<TShape>& input_shapes
    );

template <class TShape>
void boxes_last_dim(
    const Node \*const op,
    const std::vector<TShape>& input_shapes
    );

template <class T>
void shapes(
    const Node \* op,
    const std::vector<T>& input_shapes
    );

} // namespace validate