P4C
The P4 Compiler
Loading...
Searching...
No Matches
v2/types.h
1
19#ifndef BF_P4C_PHV_V2_TYPES_H_
20#define BF_P4C_PHV_V2_TYPES_H_
21
22#include <functional>
23
24#include "backends/tofino/bf-p4c/phv/utils/utils.h"
25#include "backends/tofino/bf-p4c/phv/v2/allocator_metrics.h"
26
27namespace PHV {
28namespace v2 {
29
31using AllocVerifier = std::function<bool(const SuperCluster *, AllocatorMetrics &)>;
32
34using HasPackConflict = std::function<bool(const PHV::FieldSlice &fs1, const PHV::FieldSlice &fs2)>;
35
37using FieldSliceStart = std::pair<PHV::FieldSlice, int>;
38using FieldSliceAllocStartMap = ordered_map<PHV::FieldSlice, int>;
39std::ostream &operator<<(std::ostream &out, const FieldSliceAllocStartMap &fs);
40
42using ContainerGroupsBySize = std::map<PHV::Size, std::vector<ContainerGroup>>;
43
46
47} // namespace v2
48} // namespace PHV
49
50#endif /* BF_P4C_PHV_V2_TYPES_H_ */
Definition ordered_map.h:32
Definition phv_fields.h:898
The namespace encapsulating PHV-related stuff.
Definition gateway.h:32