My Project
square8.h
Go to the documentation of this file.
1/* position8.h
2 */
3#ifndef OSL_POSITION8_H
4#define OSL_POSITION8_H
5
6#include "osl/basic_type.h"
7#include "osl/container.h"
8#include <cstdint>
9#include <iosfwd>
10
11namespace osl
12{
13 namespace container
14 {
15 struct Square8 : public FixedCapacityVector<uint8_t,8>
16 {
18 void push_back(Square position)
19 {
20 base_t::push_back(position.uintValue());
21 }
22 bool isMember(Square position) const
23 {
24 return base_t::isMember(position.uintValue());
25 }
26 const Square operator[](size_t i) const
27 {
28 return Square::makeDirect(base_t::operator[](i));
29 }
30 };
31 std::ostream& operator<<(std::ostream&, const Square8&);
32 } // namespace container
33 using container::Square8;
34} // namespace osl
35
36#endif /* OSL_POSITION8_H */
37// ;;; Local Variables:
38// ;;; mode:c++
39// ;;; c-basic-offset:2
40// ;;; End:
void push_back(const uint8_t &e)
Definition container.h:204
bool isMember(const uint8_t &e, const_iterator first, const_iterator last) const
Definition container.h:257
unsigned int uintValue() const
Definition basic_type.h:539
static const Square makeDirect(int value)
Definition basic_type.h:538
std::ostream & operator<<(std::ostream &, const BitXmask)
Definition bitXmask.cc:6
FixedCapacityVector< uint8_t, 8 > base_t
Definition square8.h:17
void push_back(Square position)
Definition square8.h:18
bool isMember(Square position) const
Definition square8.h:22
const Square operator[](size_t i) const
Definition square8.h:26