31 lines
840 B
C
31 lines
840 B
C
#ifndef LINE_H
|
|
#define LINE_H
|
|
|
|
#include "Character.h"
|
|
|
|
#define LINE_BUFFER_INCREMENT_SIZE 80
|
|
|
|
struct Line_struct {
|
|
int maxSize;
|
|
int size;
|
|
Character *characters;
|
|
};
|
|
|
|
typedef struct Line_struct *Line;
|
|
|
|
extern Line Line_create(void);
|
|
extern void Line_destroy(Line this);
|
|
extern Line Line_clone(Line this);
|
|
extern int Line_size(Line this);
|
|
extern void Line_clear(Line this);
|
|
extern Character Line_getCharacter(Line this, int index);
|
|
extern void Line_addCharacter(Line this, int index, Character character);
|
|
extern Character Line_removeCharacter(Line this, int index);
|
|
extern void Line_addLine(Line this, int index, Line line);
|
|
extern Line Line_subLine(Line this, int index, int size);
|
|
extern Line Line_removeRange(Line this, int index, int size);
|
|
extern char *Line_toString(Line this);
|
|
extern Character *Line_toRawString(Line this);
|
|
|
|
#endif
|