1 #pragma once 2 3 #include <bitset> 4 #include <string> 5 #include <list> 6 #include <set> 7 #include <vector> 8 #include <forward_list> 9 #include <iosfwd> 10 #include <map> 11 12 namespace mbgl { 13 14 struct ClipID { ClipIDmbgl::ClipID15 ClipID() {} ClipIDmbgl::ClipID16 ClipID(const std::string &mask_, const std::string &reference_) : mask(mask_), reference(reference_) {} 17 18 std::bitset<8> mask; 19 std::bitset<8> reference; 20 operator ==mbgl::ClipID21 bool operator==(const ClipID &other) const { 22 return mask == other.mask && reference == other.reference; 23 } 24 operator |=mbgl::ClipID25 ClipID& operator|=(const ClipID &other) { 26 mask |= other.mask; 27 reference |= other.reference; 28 return *this; 29 } 30 }; 31 32 ::std::ostream& operator<<(::std::ostream& os, const ClipID& rhs); 33 34 } // namespace mbgl 35