lyx_mirror/src/ErrorList.h
Guillaume Munch 148b3ae773 Move class definitions inside main class
Prepare for following commits.

This prevent's forward-declaration, but including the TexRow header should be
inexpensive.
2016-10-22 23:24:01 +02:00

66 lines
1.4 KiB
C++

// -*- C++ -*-
/**
* \file ErrorList.h
* This file is part of LyX, the document processor.
* Licence details can be found in the file COPYING.
*
* \author Alfredo Braunstein
*
* Full author contact details are available in file CREDITS.
*/
#ifndef ERRORLIST_H
#define ERRORLIST_H
#include "TexRow.h"
#include "support/docstring.h"
#include "support/types.h"
#include <vector>
namespace lyx {
class Buffer;
/// A class to hold an error item
class ErrorItem {
public:
typedef TexRow::TextEntry TextEntry;
docstring error;
docstring description;
// To generalise into RowEntries
TextEntry start;
TextEntry end;
Buffer const * buffer;
// With a start position and an end position
ErrorItem(docstring const & error, docstring const & description,
TextEntry start, TextEntry end, Buffer const * buf = 0);
// Error outside the document body
ErrorItem(docstring const & error, docstring const & description,
Buffer const * buf = 0);
ErrorItem();
};
class ErrorList : private std::vector<ErrorItem>
{
public:
ErrorList() : std::vector<ErrorItem> () {}
using std::vector<ErrorItem>::push_back;
using std::vector<ErrorItem>::end;
using std::vector<ErrorItem>::begin;
using std::vector<ErrorItem>::operator[];
using std::vector<ErrorItem>::size;
using std::vector<ErrorItem>::clear;
using std::vector<ErrorItem>::empty;
using std::vector<ErrorItem>::const_iterator;
};
} // namespace lyx
#endif