bitXmask.h
Go to the documentation of this file.
/* bitXmask.h
*/
#ifndef OSL_BITXMASK_H
#define OSL_BITXMASK_H
#include "osl/basic_type.h"
#include <iosfwd>
namespace osl
{
namespace container
{
class BitXmask
{
int mask;
public:
BitXmask() : mask(0) {}
void clearAll() { mask = 0; }
void set(int x) { mask |= (1 << x); }
void clear(int x) { mask &= ~(1 << x); }
void set(Square position) { set(position.x()); }
void clear(Square position) { clear(position.x()); }
bool isSet(int x) const { return mask & (1<<x); }
int intValue() const { return mask; }
};
inline bool operator==(BitXmask l, BitXmask r)
{
return l.intValue() == r.intValue();
}
inline bool operator!=(BitXmask l, BitXmask r)
{
return ! (l == r);
}
inline bool operator<(BitXmask l, BitXmask r)
{
return l < r;
}
std::ostream& operator<<(std::ostream&,const BitXmask);
} // namespace container
using container::BitXmask;
} // namespace osl
#endif /* OSL_BITXMASK_H */
// ;;; Local Variables:
// ;;; mode:c++
// ;;; c-basic-offset:2
// ;;; coding:utf-8
// ;;; End:
basic_type.h
osl::BitXmask::BitXmask
BitXmask()
Definition bitXmask.h:20
osl::Square
Definition basic_type.h:532
osl::Square::x
int x() const
将棋としてのX座標を返す.
Definition basic_type.h:563
osl::container::BitXmask
X座標のbitset.
Definition bitXmask.h:17
osl::container::BitXmask::clear
void clear(int x)
Definition bitXmask.h:23
osl::container::BitXmask::BitXmask
BitXmask()
Definition bitXmask.h:20
osl::container::BitXmask::intValue
int intValue() const
Definition bitXmask.h:30
osl::container::BitXmask::set
void set(Square position)
Definition bitXmask.h:25
osl::container::BitXmask::clearAll
void clearAll()
Definition bitXmask.h:21
osl::container::BitXmask::isSet
bool isSet(int x) const
Definition bitXmask.h:28
osl::container::BitXmask::clear
void clear(Square position)
Definition bitXmask.h:26
osl::container::BitXmask::mask
int mask
Definition bitXmask.h:18
osl::container::BitXmask::set
void set(int x)
Definition bitXmask.h:22
osl::container
Definition bitXmask.h:12
osl::container::operator==
bool operator==(BitXmask l, BitXmask r)
Definition bitXmask.h:33
osl::container::operator!=
bool operator!=(BitXmask l, BitXmask r)
Definition bitXmask.h:37
osl::container::operator<<
std::ostream & operator<<(std::ostream &, const BitXmask)
Definition bitXmask.cc:6
osl::container::operator<
bool operator<(BitXmask l, BitXmask r)
Definition bitXmask.h:41
osl
Definition additionalEffect.h:6