Orcus
Loading...
Searching...
No Matches
orcus::orcus_json Class Reference

Public Member Functions

 orcus_json (const orcus_json &)=delete
orcus_json & operator= (const orcus_json &)=delete
 orcus_json (spreadsheet::iface::import_factory *im_fact)
void set_cell_link (std::string_view path, std::string_view sheet, spreadsheet::row_t row, spreadsheet::col_t col)
void start_range (std::string_view sheet, spreadsheet::row_t row, spreadsheet::col_t col, bool row_header)
void append_field_link (std::string_view path, std::string_view label)
void set_range_row_group (std::string_view path)
void commit_range ()
void append_sheet (std::string_view name)
void read_stream (std::string_view stream)
void read_map_definition (std::string_view stream)
void detect_map_definition (std::string_view stream)

Static Public Member Functions

static bool detect (std::string_view strm)
static bool has_range (std::string_view stream)

Member Function Documentation

◆ detect_map_definition()

void orcus::orcus_json::detect_map_definition ( std::string_view stream)

Read a JSON string, and detect and define mapping rules for one or more ranges.

Parameters
streamJSON string.

◆ has_range()

bool orcus::orcus_json::has_range ( std::string_view stream)
static

Detect whether or not a given JSON document contains at least one linkable range.

Parameters
streamJSON document stream to check.
Returns
True if the document contains at least one linkable range, otherwise false.

◆ read_map_definition()

void orcus::orcus_json::read_map_definition ( std::string_view stream)

Read a JSON string that contains an entire set of mapping rules.

This method also inserts all necessary sheets into the document model.

Parameters
streamJSON string.