/usr/include/srchilite/linebuffer.h is in libsource-highlight-dev 3.1.8-1.1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 | //
// Author: Lorenzo Bettini <http://www.lorenzobettini.it>, (C) 2005
//
// Copyright: See COPYING file that comes with this distribution
//
//
#ifndef LINEBUFFER_H
#define LINEBUFFER_H
#include <string>
#include <set>
#include <boost/shared_ptr.hpp>
#include <sstream>
namespace srchilite {
/**
A buffer for a line to be generated
*/
class LineBuffer {
public:
/// Stores contents to be printed after the line
typedef std::set<std::string> PostContents;
private:
ostringstream buffer; ///< the line contents
PostContents post; ///< to be generated after the line
public:
LineBuffer() {
}
~LineBuffer() {
}
/**
* Puts something in the buffer
*/
void output(const std::string &s) {
buffer << s;
}
/**
* Stores something to be generated after the line
*/
void output_post(const std::string &s) {
post.insert(s);
}
/**
* @return the contents of the buffer
*/
const std::string getContents() const {
return buffer.str();
}
/**
* @return what to generated after the line
*/
const PostContents &getPostContents() const {
return post;
}
/**
* @return whether both the buffer and the post line contens are empty
*/
bool empty() const {
return (buffer.str().size() == 0 && post.size() == 0);
}
};
/// shared pointer for LineBuffer
typedef boost::shared_ptr<LineBuffer> LineBufferPtr;
}
#endif
|