diffsr.h #1

  • //
  • guest/
  • perforce_software/
  • p4/
  • 2014-1/
  • diff/
  • diffsr.h
  • View
  • Commits
  • Open Download .zip Download (2 KB)
/*
 * Copyright 2002 Perforce Software.  All rights reserved.
 *
 * This file is part of Perforce - the FAST SCM System.
 */

/*
 * diffsr.h -- diff's Sequence's Sequencer
 *
 * Public classes:
 *
 * 	LineReader - a diff Sequencer for lines
 * 	WordReader - a diff Sequencer for words separated by whitespace
 *	WClassReader - a diff Sequencer for classes of characters
 * 	DifflReader - a diff Sequencer for lines, line endings ignored
 * 	DiffbReader - a diff Sequencer for lines, whitespace changes ignored
 * 	DiffwReader - a diff Sequencer for lines, all whitespace ignored
 */

class LineReader : public Sequencer {

    public:
	virtual int	Equal( LineNo lA, Sequence *B, LineNo lB );
	virtual void	Load( Error *e );
} ;

class WordReader : public LineReader {

    public:
	virtual void	Load( Error *e );
} ;

class WClassReader : public LineReader {

    public:
	virtual void	Load( Error *e );
} ;

class DifflReader : public Sequencer {

    public:
	virtual int	Equal( LineNo lA, Sequence *B, LineNo lB );
	virtual void	Load( Error *e );

	// any newline character

	int		NewLine( UChar c ) { return c == '\r' || c == '\n'; }
} ;

class DiffbReader : public DifflReader {

    public:
	virtual int	Equal( LineNo lA, Sequence *B, LineNo lB );
	virtual void	Load( Error *e );

	// for purposes of diff -b: what is whitespace?

	int		Whitespace( UChar c ) { return c == ' ' || c == '\t'; }
} ;

class DiffwReader : public DiffbReader {

    public:
	virtual int	Equal( LineNo lA, Sequence *B, LineNo lB );
	virtual void	Load( Error *e );
} ;

# Change User Description Committed
#1 15902 Matt Attaway A second renaming that I will not obliterate as a badge of shame
//guest/perforce_software/p4/2014_1/diff/diffsr.h
#1 15901 Matt Attaway Clean up code to fit modern Workshop naming standards
//guest/perforce_software/p4/2014.1/diff/diffsr.h
#1 12188 Matt Attaway Move 'main' p4 into a release specific directory in prep for new releases
//guest/perforce_software/p4/diff/diffsr.h
#1 9129 Matt Attaway Initial commit of the 2014.1 p4/p4api source code