#include <precisions_restriction.hpp>
class PrecisionsRestriction
{
public:
// typedefs
typedef std::vector<std::pair<size_t, std::vector<ngraph::element::Type>>> PrecisionsByPort;
// fields
ngraph::Node::type_info_t operationType;
bool specifyVersion;
std::vector<std::pair<size_t, std::vector<ngraph::element::Type>>> precisionsByPort;
// construction
PrecisionsRestriction();
PrecisionsRestriction(
const ngraph::Node::type_info_t operationType,
const bool specifyVersion,
const PrecisionsByPort& precisionsByPort
);
// methods
template <typename T>
static PrecisionsRestriction create(
const PrecisionsByPort& precisionsByPort,
const bool specifyVersion = false
);
template <typename T>
static PrecisionsByPort getPrecisionsByOperationType(std::vector<PrecisionsRestriction>& restrictions);
};