libscid 0.1.0
Chess applications made easy.
Loading...
Searching...
No Matches
encode.h File Reference

Encode a game according to the PGN standard. More...

#include "scid/core/game.h"
#include "scid/core/nags.h"
#include <algorithm>
#include <cstdint>
#include <optional>
#include <span>
#include <string>
#include <string_view>
#include <vector>
+ Include dependency graph for encode.h:

Go to the source code of this file.

Classes

struct  scid::core::pgn::EncodeOptions
 
struct  scid::core::pgn::detail::MovetextEntry
 

Enumerations

enum class  MovetextEntryKind { InitialComment , VariationStart , VariationEnd , Move }
 

Functions

template<int desired_len = 80, char breakpoint_char = '\0', int hard_len = 0, typename Iter >
Iter scid::core::pgn::break_lines (Iter begin, Iter end)
 
template<typename Iter >
Iter scid::core::pgn::break_lines (Iter begin, Iter end, unsigned desired_len)
 
template<typename TCont >
void scid::core::pgn::escape_string (TCont &str, typename TCont::size_type pos)
 
template<bool unknown_to_question_mark = false, typename TCont >
void scid::core::pgn::encode_tag_pair (std::string_view tag, std::string_view value, TCont &dest)
 
template<int hard_len = 0, typename TCont >
bool scid::core::pgn::encode_comment_rest_of_line (std::string_view comment, TCont &dest)
 
std::string scid::core::pgn::detail::san_for_move (scid::core::Position &position, const Move &move, scid::core::sanFlagT flag)
 
template<int hard_len = 0, typename TCont >
void scid::core::pgn::detail::encode_movetext_entry (MovetextEntry const &entry, std::vector< long long > &ply, typename TCont::size_type &move_end, TCont &dest, EncodeOptions options)
 
template<int hard_len = 0, typename TCont >
void scid::core::pgn::encode_core_line (MoveSequence const &line, scid::core::Position position, std::vector< long long > &ply, typename TCont::size_type &move_end, TCont &dest, EncodeOptions options={})
 
template<int hard_len = 0, typename TCont >
void scid::core::pgn::encode_movetext (Game const &game, TCont &dest, EncodeOptions options={})
 
template<typename TCont >
void scid::core::pgn::encode_core_tag_pairs (Game const &game, TCont &dest, EncodeOptions options={})
 
template<int hard_len = 0, typename TCont >
void scid::core::pgn::encode_game (Game const &game, TCont &dest, EncodeOptions options={})
 
template<int desired_len = 80, typename TGame , typename TCont >
void scid::core::pgn::encode (TGame const &game, TCont &dest, EncodeOptions options={})
 

Detailed Description

Encode a game according to the PGN standard.