mirror of
https://github.com/zeek/zeek.git
synced 2025-10-13 12:08:20 +00:00

BIT-1098 * origin/topic/jsiwek/broxygen: Fix Broxygen-related compile errors. Add a Broxygen coverage test. Internal Broxygen organization/documentation/polish. Add unit tests for Broxygen config file targets. Change Broxygen config file format. Broxygen doc-related test updates. Fix two regressions. A couple documentation fixes. Integrate new Broxygen functionality into Sphinx. Implement majority of Broxygen features delegated to Bro. Broxygen can now read a config file specifying particular targets. Remove unneeded Broxygen comments in scan.bro. Replace safe_basename/safe_dirname w/ SafeBasename/SafeDirname. Add BIF interface for retrieving comments/docs. Quick optimization to Broxygen doc gathering. Flesh out Broxygen doc-gathering skeleton. Refactor search_for_file() util function. Initial skeleton of new Broxygen infrastructure.
53 lines
1.3 KiB
C++
53 lines
1.3 KiB
C++
// See the file "COPYING" in the main distribution directory for copyright.
|
|
|
|
#ifndef BROXYGEN_RESTTABLE_H
|
|
#define BROXYGEN_RESTTABLE_H
|
|
|
|
#include <vector>
|
|
#include <string>
|
|
|
|
namespace broxygen {
|
|
|
|
/**
|
|
* A reST table with arbitrary number of columns.
|
|
*/
|
|
class ReStructuredTextTable {
|
|
public:
|
|
|
|
/**
|
|
* Create the reST table object.
|
|
* @param arg_num_cols The number of columns in the table.
|
|
*/
|
|
ReStructuredTextTable(size_t arg_num_cols);
|
|
|
|
/**
|
|
* Add a new content row to the table.
|
|
* @param new_row A vector with one element for each column in the table.
|
|
*/
|
|
void AddRow(const std::vector<std::string>& new_row);
|
|
|
|
/**
|
|
* @param col_sizes Vector of column sizes (width in number of characters).
|
|
* @param border Character to use for the border.
|
|
* @return A border sized appropriated for the table with columns of sizes
|
|
* denoted by \a col_sizes.
|
|
*/
|
|
static std::string MakeBorder(const std::vector<size_t> col_sizes,
|
|
char border);
|
|
|
|
/**
|
|
* @param border Character to use for the border.
|
|
* @return the reST representation of the table and its content.
|
|
*/
|
|
std::string AsString(char border) const;
|
|
|
|
private:
|
|
|
|
size_t num_cols;
|
|
std::vector<std::vector<std::string> > rows;
|
|
std::vector<size_t> longest_row_in_column;
|
|
};
|
|
|
|
} // namespace broxygen
|
|
|
|
#endif
|