BenBot 1.7.5
A chess engine
Loading...
Searching...
No Matches
MoveGen.hpp File Reference
#include <algorithm>
#include <array>
#include <beman/inplace_vector/inplace_vector.hpp>
#include <cassert>
#include <iterator>
#include <libchess/board/Bitboard.hpp>
#include <libchess/board/Masks.hpp>
#include <libchess/board/Pieces.hpp>
#include <libchess/board/Rank.hpp>
#include <libchess/board/Shifts.hpp>
#include <libchess/board/Square.hpp>
#include <libchess/game/Position.hpp>
#include <libchess/moves/Magics.hpp>
#include <libchess/moves/Move.hpp>
#include <libchess/moves/PseudoLegal.hpp>
#include <libchess/pieces/Colors.hpp>
#include <libchess/pieces/PieceTypes.hpp>
#include <optional>
#include <ranges>
#include <utility>
Include dependency graph for MoveGen.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  chess::moves::Position

Namespaces

namespace  chess
namespace  chess::moves
auto chess::moves::any_legal_moves (const Position &position) -> bool
template<bool CapturesOnly = false>
auto chess::moves::generate (const Position &position) -> MoveList
template<bool CapturesOnly = false>
void chess::moves::generate (const Position &position, std::output_iterator< Move > auto outputIt)
template<bool CapturesOnly = false>
auto chess::moves::generate_for (const Position &position, PieceType piece) -> MoveList
template<bool CapturesOnly = false>
void chess::moves::generate_for (const Position &position, PieceType piece, std::output_iterator< Move > auto outputIt)
constexpr auto chess::moves::MAX_MOVES = 256uz
using chess::moves::MoveList = beman::inplace_vector::inplace_vector<Move, MAX_MOVES>

Detailed Description

This file provides move generation functions.

Definition in file MoveGen.hpp.