Scid  4.7.0
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Classes | Typedefs | Enumerations | Functions | Variables
misc.h File Reference
#include "common.h"
#include <algorithm>
#include <string>
#include <cstring>
#include <stdio.h>
#include <ctype.h>
#include <cstdlib>
#include <vector>
Include dependency graph for misc.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  StrRange
 class StrRange - parse a string interpreting its content as 1 or 2 integers separated by whitespace. More...
 
class  Progress
 
struct  Progress::Impl
 

Typedefs

typedef uint flagT
 

Enumerations

enum  filterOpT { FILTEROP_AND, FILTEROP_OR, FILTEROP_RESET }
 

Functions

filterOpT strGetFilterOp (const char *str)
 
void eco_ToString (ecoT ecoCode, char *ecoStr, bool extensions=true)
 
void eco_ToBasicString (ecoT ecoCode, char *ecoStr)
 
void eco_ToExtendedString (ecoT ecoCode, char *ecoStr)
 
ecoT eco_FromString (const char *ecoStr)
 
ecoT eco_LastSubCode (ecoT ecoCode)
 
ecoT eco_BasicCode (ecoT ecoCode)
 
ecoT eco_Reduce (ecoT eco)
 ecoReduce() - maps eco to a smaller set More...
 
uint32_t strStartHash (const char *str)
 
char * strDuplicate (const char *str)
 
void strCopyExclude (char *target, const char *original, const char *excludeChars)
 
char * strAppend (char *target, const char *extra)
 
uint strPad (char *target, const char *orig, int length, char pad)
 
const char * strFirstChar (const char *target, char matchChar)
 
const char * strLastChar (const char *target, char matchChar)
 
void strStrip (char *str, char ch)
 
const char * strTrimLeft (const char *target, const char *trimChars)
 
const char * strTrimLeft (const char *target)
 
uint strTrimSuffix (char *target, char suffixChar)
 
void strTrimDate (char *str)
 
void strTrimMarkCodes (char *str)
 
void strTrimMarkup (char *str)
 
const char * strFirstWord (const char *str)
 
const char * strNextWord (const char *str)
 
const char * strPlural (uint x)
 
bool strIsUnknownName (const char *str)
 
bool strIsSurnameOnly (const char *name)
 
bool strGetBoolean (const char *str)
 
int strGetInteger (const char *str)
 
uint32_t strGetUnsigned (const char *str)
 
int strCaseCompare (const char *str1, const char *str2)
 
int strCompareRound (const char *str1, const char *str2)
 
bool strEqual (const char *str1, const char *str2)
 
void strGetIntegers (const char *str, int *results, uint nResults)
 
void strGetUnsigneds (const char *str, uint *results, uint nResults)
 
resultT strGetResult (const char *str)
 
bool flag_Yes (flagT t)
 
bool flag_No (flagT t)
 
flagT strGetFlag (const char *str)
 
squareT strGetSquare (const char *str)
 
uint strTrimFileSuffix (char *target)
 
const char * strFileSuffix (const char *target)
 
int strUniqueExactMatch (const char *keyStr, const char **strTable, bool exact)
 
int strUniqueMatch (const char *keyStr, const char **strTable)
 
int strExactMatch (const char *keyStr, const char **strTable)
 
bool strContainsChar (const char *str, char ch)
 
int strCompare (const char *s1, const char *s2)
 
void strCopy (char *target, const char *original)
 
uint strPrefix (const char *s1, const char *s2)
 
bool strIsPrefix (const char *prefix, const char *longStr)
 
bool strIsCasePrefix (const char *prefix, const char *longStr)
 
bool strIsAlphaPrefix (const char *prefix, const char *longStr)
 
bool strContains (const char *longStr, const char *keyStr)
 
bool strAlphaContains (const char *longStr, const char *keyStr)
 
uint strLength (const char *str)
 
void strTrimRight (char *target, const char *trimChars, size_t nTrimCh)
 
void strTrimRight (char *target)
 

Variables

const flagT FLAG_EMPTY = 0
 
const flagT FLAG_YES = 1
 
const flagT FLAG_NO = 2
 
const flagT FLAG_BOTH = 3
 

Typedef Documentation

◆ flagT

typedef uint flagT

Definition at line 233 of file misc.h.

Enumeration Type Documentation

◆ filterOpT

enum filterOpT
Enumerator
FILTEROP_AND 
FILTEROP_OR 
FILTEROP_RESET 

Definition at line 91 of file misc.h.

Function Documentation

◆ eco_BasicCode()

ecoT eco_BasicCode ( ecoT  ecoCode)

Definition at line 110 of file misc.cpp.

◆ eco_FromString()

ecoT eco_FromString ( const char *  ecoStr)

Definition at line 36 of file misc.cpp.

◆ eco_LastSubCode()

ecoT eco_LastSubCode ( ecoT  ecoCode)

Definition at line 143 of file misc.cpp.

◆ eco_Reduce()

ecoT eco_Reduce ( ecoT  eco)

ecoReduce() - maps eco to a smaller set

Parameters
ecothe eco value to convert (must be != 0)

Scid ECO subcodes use 131 values for each canonical ECO. For example A00 is divided in A00,A00a,A00a1,A00a2,A00a3,A00a4,A00b...A00z4 corresponding to eco values 1,2,3,4,5,6,7...131 (value 0 means no ECO). This functions will map subECOs like A00a1...A00a4 into A00a, reducing the 131 values to 27. The previous sequence will became 0,1,1,1,1,1,2...26

Definition at line 130 of file misc.cpp.

◆ eco_ToBasicString()

void eco_ToBasicString ( ecoT  ecoCode,
char *  ecoStr 
)
inline

Definition at line 110 of file misc.h.

◆ eco_ToExtendedString()

void eco_ToExtendedString ( ecoT  ecoCode,
char *  ecoStr 
)
inline

Definition at line 113 of file misc.h.

◆ eco_ToString()

void eco_ToString ( ecoT  ecoCode,
char *  ecoStr,
bool  extensions = true 
)

Definition at line 78 of file misc.cpp.

◆ flag_No()

bool flag_No ( flagT  t)
inline

Definition at line 239 of file misc.h.

◆ flag_Yes()

bool flag_Yes ( flagT  t)
inline

Definition at line 238 of file misc.h.

◆ strAlphaContains()

bool strAlphaContains ( const char *  longStr,
const char *  keyStr 
)
inline

Definition at line 401 of file misc.h.

◆ strAppend()

char* strAppend ( char *  target,
const char *  extra 
)

Definition at line 189 of file misc.cpp.

◆ strCaseCompare()

int strCaseCompare ( const char *  str1,
const char *  str2 
)
inline

Definition at line 200 of file misc.h.

◆ strCompare()

int strCompare ( const char *  s1,
const char *  s2 
)
inline

Definition at line 280 of file misc.h.

◆ strCompareRound()

int strCompareRound ( const char *  str1,
const char *  str2 
)
inline

Definition at line 215 of file misc.h.

◆ strContains()

bool strContains ( const char *  longStr,
const char *  keyStr 
)
inline

Definition at line 385 of file misc.h.

◆ strContainsChar()

bool strContainsChar ( const char *  str,
char  ch 
)
inline

Definition at line 263 of file misc.h.

◆ strCopy()

void strCopy ( char *  target,
const char *  original 
)
inline

Definition at line 298 of file misc.h.

◆ strCopyExclude()

void strCopyExclude ( char *  target,
const char *  original,
const char *  excludeChars 
)

Definition at line 163 of file misc.cpp.

◆ strDuplicate()

char* strDuplicate ( const char *  str)

Definition at line 206 of file misc.cpp.

◆ strEqual()

bool strEqual ( const char *  str1,
const char *  str2 
)
inline

Definition at line 224 of file misc.h.

◆ strExactMatch()

int strExactMatch ( const char *  keyStr,
const char **  strTable 
)
inline

Definition at line 258 of file misc.h.

◆ strFileSuffix()

const char* strFileSuffix ( const char *  target)
inline

Definition at line 248 of file misc.h.

◆ strFirstChar()

const char* strFirstChar ( const char *  target,
char  matchChar 
)

Definition at line 264 of file misc.cpp.

◆ strFirstWord()

const char* strFirstWord ( const char *  str)

Definition at line 438 of file misc.cpp.

◆ strGetBoolean()

bool strGetBoolean ( const char *  str)

Definition at line 500 of file misc.cpp.

◆ strGetFilterOp()

filterOpT strGetFilterOp ( const char *  str)
inline

Definition at line 93 of file misc.h.

◆ strGetFlag()

flagT strGetFlag ( const char *  str)

Definition at line 587 of file misc.cpp.

◆ strGetInteger()

int strGetInteger ( const char *  str)
inline

Definition at line 185 of file misc.h.

◆ strGetIntegers()

void strGetIntegers ( const char *  str,
int *  results,
uint  nResults 
)

Definition at line 539 of file misc.cpp.

◆ strGetResult()

resultT strGetResult ( const char *  str)

Definition at line 566 of file misc.cpp.

◆ strGetSquare()

squareT strGetSquare ( const char *  str)

Definition at line 614 of file misc.cpp.

◆ strGetUnsigned()

uint32_t strGetUnsigned ( const char *  str)
inline

Definition at line 195 of file misc.h.

◆ strGetUnsigneds()

void strGetUnsigneds ( const char *  str,
uint results,
uint  nResults 
)

Definition at line 553 of file misc.cpp.

◆ strIsAlphaPrefix()

bool strIsAlphaPrefix ( const char *  prefix,
const char *  longStr 
)
inline

Definition at line 366 of file misc.h.

◆ strIsCasePrefix()

bool strIsCasePrefix ( const char *  prefix,
const char *  longStr 
)
inline

Definition at line 347 of file misc.h.

◆ strIsPrefix()

bool strIsPrefix ( const char *  prefix,
const char *  longStr 
)
inline

Definition at line 331 of file misc.h.

◆ strIsSurnameOnly()

bool strIsSurnameOnly ( const char *  name)

Definition at line 477 of file misc.cpp.

◆ strIsUnknownName()

bool strIsUnknownName ( const char *  str)

Definition at line 465 of file misc.cpp.

◆ strLastChar()

const char* strLastChar ( const char *  target,
char  matchChar 
)

Definition at line 281 of file misc.cpp.

◆ strLength()

uint strLength ( const char *  str)
inline

Definition at line 411 of file misc.h.

◆ strNextWord()

const char* strNextWord ( const char *  str)

Definition at line 451 of file misc.cpp.

◆ strPad()

uint strPad ( char *  target,
const char *  orig,
int  length,
char  pad 
)

Definition at line 235 of file misc.cpp.

◆ strPlural()

const char* strPlural ( uint  x)
inline

Definition at line 168 of file misc.h.

◆ strPrefix()

uint strPrefix ( const char *  s1,
const char *  s2 
)
inline

Definition at line 314 of file misc.h.

◆ strStartHash()

uint32_t strStartHash ( const char *  str)
inline

Definition at line 127 of file misc.h.

◆ strStrip()

void strStrip ( char *  str,
char  ch 
)

Definition at line 296 of file misc.cpp.

◆ strTrimDate()

void strTrimDate ( char *  str)

Definition at line 356 of file misc.cpp.

◆ strTrimFileSuffix()

uint strTrimFileSuffix ( char *  target)
inline

Definition at line 245 of file misc.h.

◆ strTrimLeft() [1/2]

const char* strTrimLeft ( const char *  target,
const char *  trimChars 
)

Definition at line 314 of file misc.cpp.

◆ strTrimLeft() [2/2]

const char* strTrimLeft ( const char *  target)
inline

Definition at line 155 of file misc.h.

◆ strTrimMarkCodes()

void strTrimMarkCodes ( char *  str)

Definition at line 371 of file misc.cpp.

◆ strTrimMarkup()

void strTrimMarkup ( char *  str)

Definition at line 415 of file misc.cpp.

◆ strTrimRight() [1/2]

void strTrimRight ( char *  target,
const char *  trimChars,
size_t  nTrimCh 
)
inline

Definition at line 427 of file misc.h.

◆ strTrimRight() [2/2]

void strTrimRight ( char *  target)
inline

Definition at line 436 of file misc.h.

◆ strTrimSuffix()

uint strTrimSuffix ( char *  target,
char  suffixChar 
)

Definition at line 332 of file misc.cpp.

◆ strUniqueExactMatch()

int strUniqueExactMatch ( const char *  keyStr,
const char **  strTable,
bool  exact 
)

Definition at line 639 of file misc.cpp.

◆ strUniqueMatch()

int strUniqueMatch ( const char *  keyStr,
const char **  strTable 
)
inline

Definition at line 255 of file misc.h.

Variable Documentation

◆ FLAG_BOTH

const flagT FLAG_BOTH = 3

Definition at line 237 of file misc.h.

◆ FLAG_EMPTY

const flagT FLAG_EMPTY = 0

Definition at line 234 of file misc.h.

◆ FLAG_NO

const flagT FLAG_NO = 2

Definition at line 236 of file misc.h.

◆ FLAG_YES

const flagT FLAG_YES = 1

Definition at line 235 of file misc.h.