Lines Matching defs:ResourceMask

34 class ResourceMask {
36 constexpr ResourceMask(uint64_t mask1, uint64_t mask2)
58 constexpr ResourceMask()
63 ResourceMask(const ResourceMask& other) = default;
64 ResourceMask& operator=(const ResourceMask& other) = default;
67 bool operator==(const ResourceMask& other) {
71 static constexpr ResourceMask RawMask(uint64_t mask1, uint64_t mask2) {
72 return ResourceMask(mask1, mask2);
75 static constexpr ResourceMask Bit(size_t bit) {
76 return ResourceMask(bit >= 64u ? 0u : UINT64_C(1) << bit,
81 static constexpr ResourceMask TwoBits(size_t start_bit) {
84 ResourceMask(start_bit >= 64u ? 0u : UINT64_C(3) << start_bit,
88 static constexpr ResourceMask NoBits() {
89 return ResourceMask(UINT64_C(0), UINT64_C(0));
92 static constexpr ResourceMask AllBits() {
93 return ResourceMask(~UINT64_C(0), ~UINT64_C(0));
96 constexpr ResourceMask Union(const ResourceMask& other) const {
97 return ResourceMask(masks_[0] | other.masks_[0], masks_[1] | other.masks_[1]);
100 constexpr ResourceMask Intersection(const ResourceMask& other) const {
101 return ResourceMask(masks_[0] & other.masks_[0], masks_[1] & other.masks_[1]);
104 constexpr ResourceMask Without(const ResourceMask& other) const {
105 return ResourceMask(masks_[0] & ~other.masks_[0], masks_[1] & ~other.masks_[1]);
108 constexpr bool Equals(const ResourceMask& other) const {
112 constexpr bool Intersects(const ResourceMask& other) const {
125 ResourceMask& SetBits(const ResourceMask& other) {
131 ResourceMask& ClearBits(const ResourceMask& other) {
143 constexpr ResourceMask kEncodeNone = ResourceMask::NoBits();
144 constexpr ResourceMask kEncodeAll = ResourceMask::AllBits();
145 constexpr ResourceMask kEncodeHeapRef = ResourceMask::Bit(ResourceMask::kHeapRef);
146 constexpr ResourceMask kEncodeLiteral = ResourceMask::Bit(ResourceMask::kLiteral);
147 constexpr ResourceMask kEncodeDalvikReg = ResourceMask::Bit(ResourceMask::kDalvikReg);
148 constexpr ResourceMask kEncodeMem = kEncodeLiteral.Union(kEncodeDalvikReg).Union(
149 kEncodeHeapRef).Union(ResourceMask::Bit(ResourceMask::kMustNotAlias));
157 const ResourceMask* GetMask(const ResourceMask& mask);