00001 /* position8.h 00002 */ 00003 #ifndef OSL_POSITION8_H 00004 #define OSL_POSITION8_H 00005 00006 #include "osl/basic_type.h" 00007 #include "osl/container.h" 00008 #include <cstdint> 00009 #include <iosfwd> 00010 00011 namespace osl 00012 { 00013 namespace container 00014 { 00015 struct Square8 : public FixedCapacityVector<uint8_t,8> 00016 { 00017 typedef FixedCapacityVector<uint8_t,8> base_t; 00018 void push_back(Square position) 00019 { 00020 base_t::push_back(position.uintValue()); 00021 } 00022 bool isMember(Square position) const 00023 { 00024 return base_t::isMember(position.uintValue()); 00025 } 00026 const Square operator[](size_t i) const 00027 { 00028 return Square::makeDirect(base_t::operator[](i)); 00029 } 00030 }; 00031 std::ostream& operator<<(std::ostream&, const Square8&); 00032 } // namespace container 00033 using container::Square8; 00034 } // namespace osl 00035 00036 #endif /* OSL_POSITION8_H */ 00037 // ;;; Local Variables: 00038 // ;;; mode:c++ 00039 // ;;; c-basic-offset:2 00040 // ;;; End: