libsgfc++ 2.0.1
A C++ library that uses SGFC to read and write SGF (Smart Game Format) data.
Loading...
Searching...
No Matches
Classes | Typedefs | Enumerations | Functions
LibSgfcPlusPlus Namespace Reference

file More...

Classes

class  ISgfcArgument
 The ISgfcArgument interface represents a single argument to be passed on to SGFC when it reads or writes SGF content. Depending on the argument type, the argument also has either an integer type or an SgfcPropertyType parameter. More...
 
class  ISgfcArguments
 The ISgfcArguments interface represents a collection of arguments to be passed on to SGFC when it reads or writes SGF content. More...
 
class  ISgfcBoardSizeProperty
 The ISgfcBoardSizeProperty interface is a specialization of ISgfcProperty for SgfcPropertyType::SZ. It simplifies access to the property value and provides the value in the form of an SgfcBoardSize object. More...
 
class  ISgfcColorPropertyValue
 The ISgfcColorPropertyValue interface provides access to one of the values of a property of an SGF node. The value type is SgfcPropertyValueType::Color. More...
 
class  ISgfcCommandLine
 The ISgfcCommandLine interface is used to operate the SGFC backend in command line mode. Use SgfcPlusPlusFactory to construct new ISgfcCommandLine objects. More...
 
class  ISgfcComposedPropertyValue
 The ISgfcComposedPropertyValue interface provides access to one of the values of a property of an SGF node. The value is a composite of two ISgfcSinglePropertyValue objects. More...
 
class  ISgfcDocument
 The ISgfcDocument interface provides access to a collection of SGF games. When you read an SGF file, the SGF data in that file becomes an ISgfcDocument. More...
 
class  ISgfcDocumentReader
 The ISgfcDocumentReader interface provides functions to generate ISgfcDocument objects by reading SGF data from the filesystem or from in-memory data. ISgfcDocumentReader operates the SGFC backend to achieve its task. Use SgfcPlusPlusFactory to construct new ISgfcDocumentReader objects. More...
 
class  ISgfcDocumentReadResult
 The ISgfcDocumentReadResult interface provides access to the result of a read operation performed by ISgfcDocumentReader. More...
 
class  ISgfcDocumentWriter
 The ISgfcDocumentWriter interface provides functions to generate SGF data from ISgfcDocument objects and to either write that data to the filesystem or make it available as an in-memory string. ISgfcDocumentWriter operates the SGFC backend to achieve its task. Use SgfcPlusPlusFactory to construct new ISgfcDocumentWriter objects. More...
 
class  ISgfcDocumentWriteResult
 The ISgfcDocumentWriteResult interface provides access to the result of a write operation performed by ISgfcDocumentWriter. More...
 
class  ISgfcDoublePropertyValue
 The ISgfcDoublePropertyValue interface provides access to one of the values of a property of an SGF node. The value type is SgfcPropertyValueType::Double. More...
 
class  ISgfcGame
 The ISgfcGame interface provides access to the data of one SGF game tree, in the form of a tree of ISgfcNode objects. More...
 
class  ISgfcGameInfo
 The ISgfcGameInfo interface ia a collection of meta data that describes one SGF game. For instance, the meta data includes information such as the name of the game, when and where it was played, by whom, etc. More...
 
class  ISgfcGameTypeProperty
 The ISgfcGameTypeProperty interface is a specialization of ISgfcProperty for SgfcPropertyType::GM. It simplifies access to the property value and provides the value in the form of an SgfcGameType value. More...
 
class  ISgfcGoGameInfo
 The ISgfcGoGameInfo interface is a specialization of ISgfcGameInfo that contains additional game information that is specific for the game of Go (e.g. komi). More...
 
class  ISgfcGoMove
 The ISgfcGoMove interface represents a move in a Go game. More...
 
class  ISgfcGoMovePropertyValue
 The ISgfcGoMovePropertyValue interface makes the property value data of a property of type SgfcPropertyValueType::Move available as an ISgfcGoMove object. More...
 
class  ISgfcGoPoint
 The ISgfcGoPoint interface represents a point on a Go board. More...
 
class  ISgfcGoPointPropertyValue
 The ISgfcGoPointPropertyValue interface makes the property value data of a property of type SgfcPropertyValueType::Point available as an ISgfcGoPoint object. More...
 
class  ISgfcGoStone
 The ISgfcGoStone interface represents a Go stone. More...
 
class  ISgfcGoStonePropertyValue
 The ISgfcGoStonePropertyValue interface makes the property value data of a property of type SgfcPropertyValueType::Stone available as an ISgfcGoStone object. More...
 
class  ISgfcMessage
 The ISgfcMessage interface represents a message that is generated when SGF data is loaded and parsed, or when SGF data is saved. Most messages are generated by SGFC, but there are a few error cases where libsgfc++ also generates messages. ISgfcMessage objects are immutable. More...
 
class  ISgfcMovePropertyValue
 The ISgfcMovePropertyValue interface provides access to one of the values of a property of an SGF node. The value type is SgfcPropertyValueType::Move. More...
 
class  ISgfcNode
 The ISgfcNode interface provides access to the data of a single SGF node in a tree of SGF nodes. ISgfcNode also provides methods to navigate the game tree. ISgfcNode provides no methods to manipulate the game tree - use ISgfcTreeBuilder for that purpose. More...
 
class  ISgfcNumberPropertyValue
 The ISgfcNumberPropertyValue interface provides access to one of the values of a property of an SGF node. The value type is SgfcPropertyValueType::Number. More...
 
class  ISgfcPointPropertyValue
 The ISgfcPointPropertyValue interface provides access to one of the values of a property of an SGF node. The value type is SgfcPropertyValueType::Point. More...
 
class  ISgfcProperty
 The ISgfcProperty interface provides access to the data of a single property of an SGF node. One property has 0-n values. More...
 
class  ISgfcPropertyFactory
 The ISgfcPropertyFactory interface provides factory methods for creating ISgfcProperty objects, and objects of every known sub-type of ISgfcProperty. More...
 
class  ISgfcPropertyValue
 The ISgfcPropertyValue interface provides access to one of the values of a property of an SGF node. More...
 
class  ISgfcPropertyValueFactory
 The ISgfcPropertyValueFactory interface provides factory methods for creating ISgfcPropertyValue objects, and objects of every known sub-type of ISgfcPropertyValue. More...
 
class  ISgfcPropertyValueTypeDescriptor
 The ISgfcPropertyValueTypeDescriptor interface provides a description of the potential types of values that a specific SGF property can have in the raw SGF content. This information helps with parsing the raw SGF property value string. More...
 
class  ISgfcRealPropertyValue
 The ISgfcRealPropertyValue interface provides access to one of the values of a property of an SGF node. The value type is SgfcPropertyValueType::Real. More...
 
class  ISgfcSimpleTextPropertyValue
 The ISgfcSimpleTextPropertyValue interface provides access to one of the values of a property of an SGF node. The value type is SgfcPropertyValueType::SimpleText. More...
 
class  ISgfcSinglePropertyValue
 The ISgfcSinglePropertyValue interface provides access to one of the values of a property of an SGF node. The value is a single value of a basic value type. Some properties allow composed values - see ISgfcComposedPropertyValue for details. More...
 
class  ISgfcStonePropertyValue
 The ISgfcStonePropertyValue interface provides access to one of the values of a property of an SGF node. The value type is SgfcPropertyValueType::Stone. More...
 
class  ISgfcTextPropertyValue
 The ISgfcTextPropertyValue interface provides access to one of the values of a property of an SGF node. The value type is SgfcPropertyValueType::Text. More...
 
class  ISgfcTreeBuilder
 The ISgfcTreeBuilder interface provides methods to manipulate the nodes of a game tree. More...
 
class  SgfcArgument
 The SgfcArgument class provides an implementation of the ISgfcArgument interface. See the interface header file for documentation. More...
 
class  SgfcArguments
 The SgfcArguments class provides an implementation of the ISgfcArguments interface. See the interface header file for documentation. More...
 
class  SgfcBackendController
 The SgfcBackendController class encapsuslates the SGFC backend and is responsible for coordinating access to it. More...
 
class  SgfcBackendDataWrapper
 The SgfcBackendDataWrapper class is a wrapper around the SGFInfo data structure that is defined by the SGFC backend. SgfcBackendDataWrapper is responsible for managing the memory of an SGFInfo object. More...
 
class  SgfcBackendLoadResult
 The SgfcBackendLoadResult class provides access to the result of a load operation performed by SgfcBackendController. More...
 
class  SgfcBackendSaveResult
 The SgfcBackendSaveResult class provides access to the result of a save operation performed by SgfcBackendController. More...
 
struct  SgfcBoardSize
 The SgfcBoardSize struct is a simple type that can hold the value of SgfcPropertyType::SZ. The constant SgfcConstants::BoardSizeNone is used to indicate that SgfcPropertyType::SZ does not exist on a game tree's root node. More...
 
class  SgfcBoardSizeProperty
 The SgfcBoardSizeProperty class provides an implementation of the ISgfcBoardSizeProperty interface. See the interface header file for documentation. More...
 
class  SgfcColorPropertyValue
 The SgfcColorPropertyValue class provides an implementation of the ISgfcColorPropertyValue interface. See the interface header file for documentation. More...
 
class  SgfcCommandLine
 The SgfcCommandLine class provides an implementation of the ISgfcCommandLine interface. See the interface header file for documentation. More...
 
class  SgfcComposedPropertyValue
 The SgfcComposedPropertyValue class provides an implementation of the ISgfcComposedPropertyValue interface. See the interface header file for documentation. More...
 
class  SgfcConstants
 The SgfcConstants class is a container class for constants. More...
 
struct  SgfcDate
 The SgfcDate struct is a simple type that can hold one of the 1-n decomposed date values of an SgfcPropertyType::DT property value. More...
 
class  SgfcDocument
 The SgfcDocument class provides an implementation of the ISgfcDocument interface. See the interface header file for documentation. More...
 
class  SgfcDocumentEncoder
 The SgfcDocumentEncoder class encodes the content of an ISgfcDocument object into an in-memory string buffer that contains the SGF content stream as if it were read from an .sgf file, and that can be passed to SGFC for further processing (corrections and/or writing to an .sgf file in the filesystem). More...
 
class  SgfcDocumentReader
 The SgfcDocumentReader class provides an implementation of the ISgfcDocumentReader interface. See the interface header file for documentation. More...
 
class  SgfcDocumentReadResult
 The SgfcDocumentReadResult class provides an implementation of the ISgfcDocumentReadResult interface. See the interface header file for documentation. More...
 
class  SgfcDocumentWriter
 The SgfcDocumentWriter class provides an implementation of the ISgfcDocumentWriter interface. See the interface header file for documentation. More...
 
class  SgfcDocumentWriteResult
 The SgfcDocumentWriteResult class provides an implementation of the ISgfcDocumentWriteResult interface. See the interface header file for documentation. More...
 
class  SgfcDoublePropertyValue
 The SgfcDoublePropertyValue class provides an implementation of the ISgfcDoublePropertyValue interface. See the interface header file for documentation. More...
 
class  SgfcGame
 The SgfcGame class provides an implementation of the ISgfcGame interface. See the interface header file for documentation. More...
 
class  SgfcGameInfo
 The SgfcGameInfo class provides an implementation of the ISgfcGameInfo interface. See the interface header file for documentation. More...
 
struct  SgfcGameResult
 The SgfcGameResult struct is a simple type that can hold the decomposed values of an SgfcPropertyType::RE property value. More...
 
class  SgfcGameTypeProperty
 The SgfcGameTypeProperty class provides an implementation of the ISgfcGameTypeProperty interface. See the interface header file for documentation. More...
 
class  SgfcGameUtility
 The SgfcGameUtility class is a container for static helper functions related to game logic. More...
 
class  SgfcGoGameInfo
 The SgfcGoGameInfo class provides an implementation of the ISgfcGoGameInfo interface. See the interface header file for documentation. More...
 
class  SgfcGoMove
 The SgfcGoMove class provides an implementation of the ISgfcGoMove interface. See the interface header file for documentation. More...
 
class  SgfcGoMovePropertyValue
 The SgfcGoMovePropertyValue class provides an implementation of the ISgfcGoMovePropertyValue interface. See the interface header file for documentation. More...
 
struct  SgfcGoPlayerRank
 The SgfcGoPlayerRank struct is a simple type that can hold the decomposed values of an SgfcPropertyType::BR or SgfcPropertyType::WR property value. More...
 
class  SgfcGoPoint
 The SgfcGoPoint class provides an implementation of the ISgfcGoPoint interface. See the interface header file for documentation. More...
 
class  SgfcGoPointPropertyValue
 The SgfcGoPointPropertyValue class provides an implementation of the ISgfcGoPointPropertyValue interface. See the interface header file for documentation. More...
 
struct  SgfcGoRuleset
 The SgfcGoRuleset struct is a simple type that can hold the decomposed values of an SgfcPropertyType::RU property value. More...
 
class  SgfcGoStone
 The SgfcGoStone class provides an implementation of the ISgfcGoStone interface. See the interface header file for documentation. More...
 
class  SgfcGoStonePropertyValue
 The SgfcGoStonePropertyValue class provides an implementation of the ISgfcGoStonePropertyValue interface. See the interface header file for documentation. More...
 
class  SgfcMessage
 The SgfcMessage class provides an implementation of the ISgfcMessage interface. See the interface header file for documentation. More...
 
class  SgfcMessageStream
 The SgfcMessageStream class captures the stream of messages that is generated by SGFC. More...
 
class  SgfcMovePropertyValue
 The SgfcMovePropertyValue class provides an implementation of the ISgfcMovePropertyValue interface. See the interface header file for documentation. More...
 
class  SgfcNode
 The SgfcNode class provides an implementation of the ISgfcNode interface. See the interface header file for documentation. More...
 
class  SgfcNodeIterator
 The SgfcNodeIterator class encapsulates reusable algorithms for iterating over a tree of ISgfcNode objects. More...
 
class  SgfcNumberPropertyValue
 The SgfcNumberPropertyValue class provides an implementation of the ISgfcNumberPropertyValue interface. See the interface header file for documentation. More...
 
class  SgfcOptions
 The SgfcOptions class is used to capture a snapshot of the option values in an SGFCOptions struct, and to reconfigure an SGFCOptions struct with those captured values at a later time. More...
 
class  SgfcPlusPlusFactory
 The SgfcPlusPlusFactory class is a class that contains only static functions. The functions are used to construct various library objects. More...
 
class  SgfcPointPropertyValue
 The SgfcPointPropertyValue class provides an implementation of the ISgfcPointPropertyValue interface. See the interface header file for documentation. More...
 
class  SgfcPrivateConstants
 The SgfcPrivateConstants class is a container class for library-internal constants. More...
 
class  SgfcProperty
 The SgfcProperty class provides an implementation of the ISgfcProperty interface. See the interface header file for documentation. More...
 
class  SgfcPropertyBasicValueTypeDescriptor
 The SgfcPropertyBasicValueTypeDescriptor class provides an implementation of the ISgfcPropertyValueTypeDescriptor interface. See the interface header file for documentation. More...
 
class  SgfcPropertyComposedValueTypeDescriptor
 The SgfcPropertyComposedValueTypeDescriptor class provides an implementation of the ISgfcPropertyValueTypeDescriptor interface. See the interface header file for documentation. More...
 
class  SgfcPropertyDecoder
 The SgfcPropertyDecoder class parses the raw strings that SGFC provides for SGF properties and their values, and generates proper objects from those parsing activities. More...
 
class  SgfcPropertyDualValueTypeDescriptor
 The SgfcPropertyDualValueTypeDescriptor class provides an implementation of the ISgfcPropertyValueTypeDescriptor interface. See the interface header file for documentation. More...
 
class  SgfcPropertyElistValueTypeDescriptor
 The SgfcPropertyElistValueTypeDescriptor class provides an implementation of the ISgfcPropertyValueTypeDescriptor interface. See the interface header file for documentation. More...
 
class  SgfcPropertyFactory
 The SgfcPropertyFactory class provides an implementation of the ISgfcPropertyFactory interface. See the interface header file for documentation. More...
 
class  SgfcPropertyListValueTypeDescriptor
 The SgfcPropertyListValueTypeDescriptor class provides an implementation of the ISgfcPropertyValueTypeDescriptor interface. See the interface header file for documentation. More...
 
class  SgfcPropertyMetaInfo
 The SgfcPropertyMetaInfo class provides meta information about a property and the values it can have according to the SGF standard. More...
 
class  SgfcPropertyValueFactory
 The SgfcPropertyValueFactory class provides an implementation of the ISgfcPropertyValueFactory interface. See the interface header file for documentation. More...
 
class  SgfcPropertyValueTypeDescriptorConstants
 The SgfcPropertyValueTypeDescriptorConstants class is a container class for library-internal property value type descriptor constants. More...
 
class  SgfcRealPropertyValue
 The SgfcRealPropertyValue class provides an implementation of the ISgfcRealPropertyValue interface. See the interface header file for documentation. More...
 
struct  SgfcRoundInformation
 The SgfcRoundInformation struct is a simple type that can hold the decomposed values of an SgfcPropertyType::RO property value. More...
 
class  SgfcSaveStream
 The SgfcSaveStream class captures the stream of save data that is generated by SGF. More...
 
class  SgfcSgfContent
 The SgfcSgfContent class represents a distinct piece of SGF content that is generated by SGFC when it performs a save operation. SgfcSgfContent objects are immutable. More...
 
class  SgfcSimpleTextPropertyValue
 The SgfcSimpleTextPropertyValue class provides an implementation of the ISgfcSimpleTextPropertyValue interface. See the interface header file for documentation. More...
 
class  SgfcSinglePropertyValue
 The SgfcSinglePropertyValue class provides an implementation of the ISgfcSinglePropertyValue interface. See the interface header file for documentation. More...
 
class  SgfcStonePropertyValue
 The SgfcStonePropertyValue class provides an implementation of the ISgfcStonePropertyValue interface. See the interface header file for documentation. More...
 
class  SgfcTextPropertyValue
 The SgfcTextPropertyValue class provides an implementation of the ISgfcTextPropertyValue interface. See the interface header file for documentation. More...
 
class  SgfcTreeBuilder
 The SgfcTreeBuilder class provides an implementation of the ISgfcTreeBuilder interface. See the interface header file for documentation. More...
 
class  SgfcUtility
 The SgfcUtility class is a container for static helper functions. More...
 
class  SgfcValueConverter
 The SgfcValueConverter class converts raw string values into value types defined by the SGF standard, and vice versa. More...
 

Typedefs

typedef unsigned long long SgfcNodeTraits
 An SgfcNodeTraits value describes the traits of an ISgfcNode object. The value is a combination of individual flags defined in the SgfcNodeTrait enumeration.
 
typedef unsigned long long SgfcPropertyTraits
 An SgfcPropertyTraits value describes the traits of an ISgfcProperty object. The value is a combination of individual flags defined in the SgfcPropertyTrait enumeration.
 
typedef long SgfcNumber
 The SgfcNumber type represents the Number value type defined by the SGF standard. Values are signed integer numbers.
 
typedef double SgfcReal
 The SgfcReal type represents the Real value type defined by the SGF standard. Values are signed floating point numbers.
 
typedef std::string SgfcSimpleText
 The SgfcSimpleText type represents the SimpleText value type defined by the SGF standard. Values are strings that contain only space characters as whitespace, i.e. no linebreaks, tabs, vertical tabs, etc..
 
typedef std::string SgfcText
 The SgfcText type represents the Text value type defined by the SGF standard. Values are strings that contain only space characters and linebreaks as whitespace, i.e. no tabs, vertical tabs, etc..
 
typedef std::string SgfcMove
 The SgfcMove type represents the Move value type defined by the SGF standard. The SGF standard does not provide a universal definition of how a Move value should look like. Instead it says that the interpretation of Move values is game specific.
 
typedef std::string SgfcPoint
 The SgfcPoint type represents the Point value type defined by the SGF standard. The SGF standard does not provide a universal definition of how a Point value should look like. Instead it says that the interpretation of Point values is game specific.
 
typedef std::string SgfcStone
 The SgfcStone type represents the Stone value type defined by the SGF standard. The SGF standard does not provide a universal definition of how a Stone value should look like. Instead it says that the interpretation of Stone values is game specific.
 
typedef std::function< SgfcNodeIterationContinuation(std::shared_ptr< ISgfcNode >)> NodeVisitCallback
 Defines the signature of the callback method that SgfcNodeIterator invokes when it visits a node.
 

Enumerations

enum class  SgfcArgumentType {
  SgfcArgumentType::BeginningOfSgfData , SgfcArgumentType::DisableMessageID , SgfcArgumentType::DisableWarningMessages , SgfcArgumentType::HardLineBreakMode ,
  SgfcArgumentType::LineBreakAtEndOfNode , SgfcArgumentType::NoSoftLineBreaksInTextValues , SgfcArgumentType::DeleteMarkupOnCurrentMove , SgfcArgumentType::DeleteEmptyNodes ,
  SgfcArgumentType::DeleteObsoleteProperties , SgfcArgumentType::DeleteUnknownProperties , SgfcArgumentType::DeletePropertyType , SgfcArgumentType::UseOldPassMoveNotation ,
  SgfcArgumentType::EnableRestrictiveChecking , SgfcArgumentType::CorrectVariationLevelAndRootMoves , SgfcArgumentType::ReverseVariationOrdering , SgfcArgumentType::ExpandCompressedPointLists ,
  SgfcArgumentType::EncodingMode , SgfcArgumentType::DefaultEncoding , SgfcArgumentType::ForcedEncoding
}
 SgfcArgumentType enumerates the arguments that can be passed on to SGFC when it reads or writes SGF content. More...
 
enum class  SgfcColor { SgfcColor::Black , SgfcColor::White }
 SgfcColor enumerates the values that a property value of type SgfcPropertyValueType::Color can have. More...
 
enum class  SgfcCoordinateSystem { SgfcCoordinateSystem::UpperLeftOrigin , SgfcCoordinateSystem::LowerLeftOrigin }
 SgfcCoordinateSystem enumerates the coordinate systems supported by game-specific representations of Point values. More...
 
enum class  SgfcDouble { SgfcDouble::Normal , SgfcDouble::Emphasized }
 SgfcDouble enumerates the values that a property value of type SgfcPropertyValueType::Double can have. More...
 
enum class  SgfcExitCode { SgfcExitCode::Ok = 0 , SgfcExitCode::Warning = 5 , SgfcExitCode::Error = 10 , SgfcExitCode::FatalError = 20 }
 SgfcExitCode enumerates all SGFC exit codes supported by the library. More...
 
enum class  SgfcGameResultType {
  SgfcGameResultType::BlackWin , SgfcGameResultType::WhiteWin , SgfcGameResultType::Draw , SgfcGameResultType::NoResult ,
  SgfcGameResultType::UnknownResult
}
 SgfcGameResultType enumerates the main result types with which a game can end. Depending on the enumerator additional values are needed to determine the exact nature of the game result. More...
 
enum class  SgfcGameType {
  Go , Othello , Chess , GomokuAndRenju ,
  NineMensMorris , Backgammon , ChineseChess , Shogi ,
  LinesOfAction , Ataxx , Hex , Jungle ,
  Neutron , PhilosophersFootball , Quadrature , Trax ,
  Tantrix , Amazons , Octi , Gess ,
  Twixt , Zertz , Plateau , Yinsh ,
  Punct , Gobblet , Hive , Exxit ,
  Hnefatal , Kuba , Tripples , Chase ,
  TumblingDown , Sahara , Byte , Focus ,
  Dvonn , Tamsk , Gipf , Kropki ,
  Unknown
}
 SgfcGameType enumerates all game types defined by the SGF standard. The enum value SgfcGameType::Unknown is used for all non-standard game game types. More...
 
enum class  SgfcGoPlayerRankType { SgfcGoPlayerRankType::Kyu , SgfcGoPlayerRankType::AmateurDan , SgfcGoPlayerRankType::ProfessionalDan }
 SgfcGoPlayerRankType enumerates the rank types in the traditional Go ranking system. More...
 
enum class  SgfcGoPlayerRatingType { SgfcGoPlayerRatingType::Uncertain , SgfcGoPlayerRatingType::Established , SgfcGoPlayerRatingType::Unspecified }
 SgfcGoPlayerRatingType enumerates the rating types that can apply to a Go player's rank. More...
 
enum class  SgfcGoPointNotation { SgfcGoPointNotation::Sgf , SgfcGoPointNotation::Figure , SgfcGoPointNotation::Hybrid }
 SgfcGoPointNotation enumerates all notations supported for representing a Point location for SgfcGameType::Go. More...
 
enum class  SgfcGoRulesetType { SgfcGoRulesetType::AGA , SgfcGoRulesetType::Ing , SgfcGoRulesetType::Japanese , SgfcGoRulesetType::NZ }
 SgfcGoRulesetType enumerates the ruleset types that are recognized by libsgfc++. More...
 
enum class  SgfcMessageID {
  SGFC messages , SgfcMessageID::UnknownCommand = 1 , SgfcMessageID::UnknownCommandLineOption = 2 , SgfcMessageID::CouldNotOpenSourceFile = 3 ,
  SgfcMessageID::CouldNotReadSourceFile = 4 , SgfcMessageID::MemoryAllocationFailed = 5 , SgfcMessageID::SgfDataBeforeGameTree = 6 , SgfcMessageID::NoSgfData = 7 ,
  SgfcMessageID::IllegalCharacters = 8 , SgfcMessageID::VariationNestingIncomplete = 9 , SgfcMessageID::UnexpectedEndOfFile = 10 , SgfcMessageID::PropertyIdentifierTooLong = 11 ,
  SgfcMessageID::EmptyVariationIgnored = 12 , SgfcMessageID::SurplusValuesDeleted = 13 , SgfcMessageID::IllegalValueDeleted = 14 , SgfcMessageID::IllegalSingleValueCorrected = 15 ,
  SgfcMessageID::PropertyIdentifierWithLowercaseCharacter = 16 , SgfcMessageID::EmptyValueDeleted = 17 , SgfcMessageID::IllegalRootPropertyValue = 18 , SgfcMessageID::GameIsNotGo = 19 ,
  SgfcMessageID::PropertyWithoutValuesIgnored = 20 , SgfcMessageID::IllegalVariationStartIgnored = 21 , SgfcMessageID::ZeroByteDeleted = 22 , SgfcMessageID::NonComposedValueDeleted = 23 ,
  SgfcMessageID::MoveInRootNodeSplit = 24 , SgfcMessageID::IllegalComposedValueCorrected = 25 , SgfcMessageID::CouldNotOpenDestinationFile = 26 , SgfcMessageID::CouldNotWriteDestinationFile = 27 ,
  SgfcMessageID::DuplicatePropertyDeleted = 28 , SgfcMessageID::RequestedPropertyDeleted = 29 , SgfcMessageID::MixedSetupAndMove = 30 , SgfcMessageID::LongPropertyIdentifier = 31 ,
  SgfcMessageID::RootPropertyDeleted = 32 , SgfcMessageID::GameInfoPropertyWithIllegalFormat = 33 , SgfcMessageID::NotSavedBecauseOfCriticalErrors = 34 , SgfcMessageID::UnknownPropertyDeleted = 35 ,
  SgfcMessageID::MissingSemicolonAtGameTreeStart = 36 , SgfcMessageID::BlackAndWhiteMoveSplit = 37 , SgfcMessageID::PositionNotUnique = 38 , SgfcMessageID::AddStoneDeleted = 39 ,
  SgfcMessageID::PropertyNotDefinedInFF = 40 , SgfcMessageID::ContradictingAnnotationDeleted = 41 , SgfcMessageID::CombinationOfPropertiesConverted = 42 , SgfcMessageID::MoveAnnotationDeleted = 43 ,
  SgfcMessageID::GameInfoDeleted = 44 , SgfcMessageID::DifferentFileFormats = 45 , SgfcMessageID::UnknownFileFormat = 46 , SgfcMessageID::SquareBoardSizeCorrected = 47 ,
  SgfcMessageID::SourceFileNotSpecified = 48 , SgfcMessageID::BadCommandLineOptionParameter = 49 , SgfcMessageID::TooLargeBoardSizeCorrected = 50 , SgfcMessageID::UsedFeatureNotDefinedInFileFormat = 51 ,
  SgfcMessageID::ViewError = 52 , SgfcMessageID::DifferentGameTypes = 53 , SgfcMessageID::ValuesWithoutPropertyDeleted = 54 , SgfcMessageID::EmptyNodeDeleted = 55 ,
  SgfcMessageID::VariationLevelNotCorrected = 56 , SgfcMessageID::VariationLevelCorrected = 57 , SgfcMessageID::ForbiddenMove = 58 , SgfcMessageID::IntegerKomiDeleted = 59 ,
  SgfcMessageID::MoreThanOneGameTree = 60 , SgfcMessageID::HandicapDiffersFromSetup = 61 , SgfcMessageID::SetupStonesOutsideRootNode = 62 , SgfcMessageID::TwoMovesWithSameColor = 63 ,
  SgfcMessageID::VariationReorderFailed = 64 , SgfcMessageID::NewStylePassMove = 65 , SgfcMessageID::NodeNotInVariation = 66 , SgfcMessageID::IllegalVariationStartCorrected = 67 ,
  SgfcMessageID::UnknownLongCommandLineOption = 68 , SgfcMessageID::UnknownEncodingInArgument = 69 , SgfcMessageID::UnknownIconvError = 70 , SgfcMessageID::EncodingErrorsDetected = 71 ,
  SgfcMessageID::UnknownEncodingInSgfContent = 72 , SgfcMessageID::EncodingDetectionFailed = 73 , SgfcMessageID::SgfContentHasDifferentEncodings = 74 , SgfcMessageID::SgfContentHasDifferentEncodingsFatal = 75 ,
  SgfcMessageID::UnknownSgfcMessageID = std::numeric_limits<int>::max() , libsgfc++messages , SgfcMessageID::InvalidMessageID = -1 , SgfcMessageID::ParseArgumentError = -2 ,
  SgfcMessageID::SaveSgfContentToFilesystemError = -3 , SgfcMessageID::ReadSgfContentFromFilesystemError = -4 , SgfcMessageID::DeleteFileError = -5 , SgfcMessageID::OutOfMemoryError = -6 ,
  SgfcMessageID::ParseSgfContentError = -7 , SgfcMessageID::SGFCInterfacingError = -8
}
 SgfcMessageID enumerates the message identification numbers that an ISgfcMessage object can have. More...
 
enum class  SgfcMessageType { SgfcMessageType::Warning , SgfcMessageType::Error , SgfcMessageType::FatalError }
 SgfcMessageType enumerates all message types generated by SGFC. More...
 
enum class  SgfcNodeTrait : SgfcNodeTraits {
  SgfcNodeTrait::Root = 1ULL , SgfcNodeTrait::GameInfo = 2ULL , SgfcNodeTrait::Move = 4ULL , SgfcNodeTrait::Setup = 8ULL ,
  SgfcNodeTrait::NodeAnnotation = 16ULL , SgfcNodeTrait::MoveAnnotation = 32ULL , SgfcNodeTrait::Markup = 64ULL , SgfcNodeTrait::Timing = 128ULL ,
  SgfcNodeTrait::Inheritable = 256ULL
}
 SgfcNodeTrait enumerates the individual traits that an ISgfcNode object can have. An ISgfcNode object can have several traits, which is why the enumeration values are defined as flags that can be combined into a single SgfcNodeTraits value. More...
 
enum class  SgfcPropertyCategory {
  SgfcPropertyCategory::Root , SgfcPropertyCategory::GameInfo , SgfcPropertyCategory::Move , SgfcPropertyCategory::Setup ,
  SgfcPropertyCategory::NodeAnnotation , SgfcPropertyCategory::MoveAnnotation , SgfcPropertyCategory::Markup , SgfcPropertyCategory::Timing ,
  SgfcPropertyCategory::Miscellaneous
}
 SgfcPropertyCategory enumerates the categories used in the SGF standard to classify properties. A property can fall into one category only. More...
 
enum class  SgfcPropertyTrait : SgfcPropertyTraits { SgfcPropertyTrait::Inheritable = 1ULL }
 SgfcPropertyTrait enumerates the individual traits that an ISgfcProperty object can have. An ISgfcProperty object can have several traits, which is why the enumeration values are defined as flags that can be combined into a single SgfcPropertyTraits value. More...
 
enum class  SgfcPropertyType {
  SgfcPropertyType::B , SgfcPropertyType::KO , SgfcPropertyType::MN , SgfcPropertyType::W ,
  SgfcPropertyType::AB , SgfcPropertyType::AE , SgfcPropertyType::AW , SgfcPropertyType::PL ,
  SgfcPropertyType::C , SgfcPropertyType::DM , SgfcPropertyType::GB , SgfcPropertyType::GW ,
  SgfcPropertyType::HO , SgfcPropertyType::N , SgfcPropertyType::UC , SgfcPropertyType::V ,
  SgfcPropertyType::BM , SgfcPropertyType::DO , SgfcPropertyType::IT , SgfcPropertyType::TE ,
  SgfcPropertyType::AR , SgfcPropertyType::CR , SgfcPropertyType::DD , SgfcPropertyType::LB ,
  SgfcPropertyType::LN , SgfcPropertyType::MA , SgfcPropertyType::SL , SgfcPropertyType::SQ ,
  SgfcPropertyType::TR , SgfcPropertyType::AP , SgfcPropertyType::CA , SgfcPropertyType::FF ,
  SgfcPropertyType::GM , SgfcPropertyType::ST , SgfcPropertyType::SZ , AN ,
  BR , BT , CP , DT ,
  EV , GN , GC , ON ,
  OT , PB , PC , PW ,
  RE , RO , RU , SO ,
  TM , US , WR , WT ,
  BL , OB , OW , WL ,
  FG , PM , VW , BS ,
  CH , EL , EX , ID ,
  L , LT , M , OM ,
  OP , OV , RG , SC ,
  SE , SI , TC , WS ,
  SgfcPropertyType::HA , SgfcPropertyType::KM , TB , TW ,
  SgfcPropertyType::Unknown
}
 SgfcPropertyType enumerates all property types defined by the SGF standard, plus a small number of non-standard property types that are specially handled by SGFC. The enum value SgfcPropertyType::Unknown is used for all other non-standard properties. More...
 
enum class  SgfcPropertyValueType {
  SgfcPropertyValueType::None , SgfcPropertyValueType::Number , SgfcPropertyValueType::Real , SgfcPropertyValueType::Double ,
  SgfcPropertyValueType::Color , SgfcPropertyValueType::SimpleText , SgfcPropertyValueType::Text , SgfcPropertyValueType::Point ,
  SgfcPropertyValueType::Move , SgfcPropertyValueType::Stone , SgfcPropertyValueType::Unknown
}
 SgfcPropertyValueType enumerates the basic SGF property value types. More...
 
enum class  SgfcWinType {
  SgfcWinType::WinWithScore , SgfcWinType::WinWithoutScore , SgfcWinType::WinByResignation , SgfcWinType::WinOnTime ,
  SgfcWinType::WinByForfeit
}
 SgfcWinType enumerates how a player can win a game. An SgfcWinType value is used to accompany a game result type value of either SgfcGameResultType::BlackWin or SgfcGameResultType::WhiteWin. More...
 
enum class  SgfcNodeIterationContinuation { VerticalAndLateral , Lateral , Ascend , Stop }
 SgfcNodeIterationContinuation enumerates how SgfcNodeIterator should continue with the iteration after it has visited a node. More...
 
enum class  SgfcPropertyValueTypeDescriptorType {
  DualValueType , ElistValueType , ListValueType , ComposedValueType ,
  BasicValueType
}
 SgfcPropertyValueTypeDescriptorType enumerates all types of ISgfcPropertyValueTypeDescriptor objects.
 
enum class  SgfcSinglePropertyValueContext { SgfcSinglePropertyValueContext::FirstValueOfComposedValue , SgfcSinglePropertyValueContext::SecondValueOfComposedValue , SgfcSinglePropertyValueContext::Standalone }
 SgfcSinglePropertyValueContext enumerates in which context a ISgfcSinglePropertyValue object can appear. More...
 
enum class  SgfcBackendDataState { SgfcBackendDataState::NotLoaded , SgfcBackendDataState::PartiallyLoaded , SgfcBackendDataState::FullyLoaded }
 SgfcBackendDataState enumerates the states that the SGFInfo data structure encapsulated by SgfcBackendDataWrapper can have. More...
 
enum class  SgfcDataLocation { SgfcDataLocation::Filesystem , SgfcDataLocation::InMemoryBuffer }
 SgfcDataLocation enumerates the locations where SGF data can be read from or written to. More...
 

Functions

std::ostream & operator<< (std::ostream &out, SgfcPropertyType value)
 
std::ostream & operator<< (std::ostream &out, SgfcMessageID value)
 
void PrintErrorOutputHook (struct SGFCError *sgfcError)
 
int openHook (struct SaveFileHandler *sfh, const char *path, const char *mode)
 
int closeHook (struct SaveFileHandler *sfh, U_LONG error)
 
Bitwise AND operators
SgfcNodeTraits operator& (SgfcNodeTraits lhs, SgfcNodeTrait rhs)
 Bitwise AND operator, applying the right-hand-side trait operand rhs to the left-hand-side traits operand lhs.
 
SgfcNodeTraits operator& (SgfcNodeTrait lhs, SgfcNodeTrait rhs)
 Bitwise AND operator, combining the left-hand-side trait operand lhs with the right-hand-side trait operand @ rhs.
 
SgfcNodeTraitsoperator&= (SgfcNodeTraits &lhs, SgfcNodeTrait rhs)
 Bitwise AND compound assignment operator, applying the right-hand-side trait operand rhs to the left-hand-side traits operand lhs.
 
SgfcPropertyTraits operator& (SgfcPropertyTraits lhs, SgfcPropertyTrait rhs)
 Bitwise AND operator, applying the right-hand-side trait operand rhs to the left-hand-side traits operand lhs.
 
SgfcPropertyTraits operator& (SgfcPropertyTrait lhs, SgfcPropertyTrait rhs)
 Bitwise AND operator, combining the left-hand-side trait operand lhs with the right-hand-side trait operand @ rhs.
 
SgfcPropertyTraitsoperator&= (SgfcPropertyTraits &lhs, SgfcPropertyTrait rhs)
 Bitwise AND compound assignment operator, applying the right-hand-side trait operand rhs to the left-hand-side traits operand lhs.
 
Bitwise OR operators
SgfcNodeTraits operator| (SgfcNodeTraits lhs, SgfcNodeTrait rhs)
 Bitwise OR operator, applying the right-hand-side trait operand rhs to the left-hand-side traits operand lhs.
 
SgfcNodeTraits operator| (SgfcNodeTrait lhs, SgfcNodeTrait rhs)
 Bitwise OR operator, combining the left-hand-side trait operand lhs with the right-hand-side trait operand @ rhs.
 
SgfcNodeTraitsoperator|= (SgfcNodeTraits &lhs, SgfcNodeTrait rhs)
 Bitwise OR compound assignment operator, applying the right-hand-side trait operand rhs to the left-hand-side traits operand lhs.
 
SgfcPropertyTraits operator| (SgfcPropertyTraits lhs, SgfcPropertyTrait rhs)
 Bitwise OR operator, applying the right-hand-side trait operand rhs to the left-hand-side traits operand lhs.
 
SgfcPropertyTraits operator| (SgfcPropertyTrait lhs, SgfcPropertyTrait rhs)
 Bitwise OR operator, combining the left-hand-side trait operand lhs with the right-hand-side trait operand @ rhs.
 
SgfcPropertyTraitsoperator|= (SgfcPropertyTraits &lhs, SgfcPropertyTrait rhs)
 Bitwise OR compound assignment operator, applying the right-hand-side trait operand rhs to the left-hand-side traits operand lhs.
 
Bitwise XOR operators
SgfcNodeTraits operator^ (SgfcNodeTraits lhs, SgfcNodeTrait rhs)
 Bitwise XOR operator, applying the right-hand-side trait operand rhs to the left-hand-side traits operand lhs.
 
SgfcNodeTraits operator^ (SgfcNodeTrait lhs, SgfcNodeTrait rhs)
 Bitwise XOR operator, combining the left-hand-side trait operand lhs with the right-hand-side trait operand @ rhs.
 
SgfcNodeTraitsoperator^= (SgfcNodeTraits &lhs, SgfcNodeTrait rhs)
 Bitwise XOR compound assignment operator, applying the right-hand-side trait operand rhs to the left-hand-side traits operand lhs.
 
SgfcPropertyTraits operator^ (SgfcPropertyTraits lhs, SgfcPropertyTrait rhs)
 Bitwise XOR operator, applying the right-hand-side trait operand rhs to the left-hand-side traits operand lhs.
 
SgfcPropertyTraits operator^ (SgfcPropertyTrait lhs, SgfcPropertyTrait rhs)
 Bitwise XOR operator, combining the left-hand-side trait operand lhs with the right-hand-side trait operand @ rhs.
 
SgfcPropertyTraitsoperator^= (SgfcPropertyTraits &lhs, SgfcPropertyTrait rhs)
 Bitwise XOR compound assignment operator, applying the right-hand-side trait operand rhs to the left-hand-side traits operand lhs.
 
Bitwise shift operators
SgfcNodeTraits operator<< (SgfcNodeTrait lhs, unsigned short numberOfBitsToShift)
 Bitwise left shift operator, shifting the left-hand-side traits operand lhs by the number of bits in the right-hand-side operand numberOfBitsToShift.
 
SgfcNodeTraits operator>> (SgfcNodeTrait lhs, unsigned short numberOfBitsToShift)
 Bitwise right shift operator, shifting the left-hand-side traits operand lhs by the number of bits in the right-hand-side operand numberOfBitsToShift.
 
SgfcPropertyTraits operator<< (SgfcPropertyTrait lhs, unsigned short numberOfBitsToShift)
 Bitwise left shift operator, shifting the left-hand-side traits operand lhs by the number of bits in the right-hand-side operand numberOfBitsToShift.
 
SgfcPropertyTraits operator>> (SgfcPropertyTrait lhs, unsigned short numberOfBitsToShift)
 Bitwise right shift operator, shifting the left-hand-side traits operand lhs by the number of bits in the right-hand-side operand numberOfBitsToShift.
 
Other bitwise operators
SgfcNodeTraits operator~ (SgfcNodeTrait rhs)
 Bitwise NOT operator, flipping all bits of the right-hand-side trait operand rhs.
 
SgfcPropertyTraits operator~ (SgfcPropertyTrait rhs)
 Bitwise NOT operator, flipping all bits of the right-hand-side trait operand rhs.
 

Detailed Description

file

Typedef Documentation

◆ NodeVisitCallback

Defines the signature of the callback method that SgfcNodeIterator invokes when it visits a node.

The callback parameter is the node that is being visited. The return value is an instruction to SgfcNodeIterator how it should continue with the iteration.

Enumeration Type Documentation

◆ SgfcNodeIterationContinuation

SgfcNodeIterationContinuation enumerates how SgfcNodeIterator should continue with the iteration after it has visited a node.

Enumerator
VerticalAndLateral 

SgfcNodeIterator will continue the iteration both vertically (firstChild) and laterally (nextSibling).

Lateral 

SgfcNodeIterator will continue the iteration laterally (nextSibling) but not vertically (firstChild).

Ascend 

SgfcNodeIterator will stop the iteration on the current tree level, ascend one tree level, and then continue laterally (nextSibling) on the upper tree level.

Stop 

SgfcNodeIterator will stop the iteration.

Function Documentation

◆ operator&() [1/2]

SgfcNodeTraits LibSgfcPlusPlus::operator& ( SgfcNodeTrait lhs,
SgfcNodeTrait rhs )

Bitwise AND operator, combining the left-hand-side trait operand lhs with the right-hand-side trait operand @ rhs.

This operator does not make much sense - the result will always be SgfcConstants::NodeTraitsNone

◆ operator&() [2/2]

SgfcPropertyTraits LibSgfcPlusPlus::operator& ( SgfcPropertyTrait lhs,
SgfcPropertyTrait rhs )

Bitwise AND operator, combining the left-hand-side trait operand lhs with the right-hand-side trait operand @ rhs.

This operator does not make much sense - the result will always be SgfcConstants::PropertyTraitsNone

◆ operator^() [1/2]

SgfcNodeTraits LibSgfcPlusPlus::operator^ ( SgfcNodeTrait lhs,
SgfcNodeTrait rhs )

Bitwise XOR operator, combining the left-hand-side trait operand lhs with the right-hand-side trait operand @ rhs.

This operator does not make much sense - the result will always be SgfcConstants::NodeTraitsNone

◆ operator^() [2/2]

SgfcPropertyTraits LibSgfcPlusPlus::operator^ ( SgfcPropertyTrait lhs,
SgfcPropertyTrait rhs )

Bitwise XOR operator, combining the left-hand-side trait operand lhs with the right-hand-side trait operand @ rhs.

This operator does not make much sense - the result will always be SgfcConstants::PropertyTraitsNone