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