19#ifndef BF_P4C_PHV_ACTION_PACKING_VALIDATOR_INTERFACE_H_
20#define BF_P4C_PHV_ACTION_PACKING_VALIDATOR_INTERFACE_H_
24#include "bf-p4c/phv/action_source_tracker.h"
25#include "bf-p4c/phv/utils/utils.h"
26#include "lib/cstring.h"
27#include "lib/ordered_set.h"
36 enum class Code { OK, BAD, UNKNOWN };
37 Code
code = Code::UNKNOWN;
46 std::optional<const IR::MAU::Action *> invalid_action = std::nullopt;
70 const bool loose_mode =
false)
const = 0;
Definition ordered_set.h:32
Definition action_packing_validator_interface.h:33
virtual Result can_pack(const ordered_set< const SuperCluster::SliceList * > &slice_lists, const ordered_set< const SuperCluster::SliceList * > &can_be_further_split={}, const bool loose_mode=false) const =0
The namespace encapsulating PHV-related stuff.
Definition gateway.h:32
Definition action_packing_validator_interface.h:35
ordered_set< const SuperCluster::SliceList * > * invalid_packing
Definition action_packing_validator_interface.h:44
Definition common/field_defuse.cpp:590