square8.h
Go to the documentation of this file.
00001 /* position8.h
00002  */
00003 #ifndef OSL_POSITION8_H
00004 #define OSL_POSITION8_H
00005 
00006 #include "osl/square.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 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:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines