HikoGUI
A low latency retained GUI
Loading...
Searching...
No Matches
Namespaces | Functions
spreadsheet_address.hpp File Reference

Utilities for parsing spreadsheet addresses. More...

#include "../utility/utility.hpp"
#include "../algorithm/algorithm.hpp"
#include "../macros.hpp"
#include <tuple>
#include <string_view>
#include <format>

Go to the source code of this file.

Namespaces

namespace  v1
 DOXYGEN BUG.
 

Functions

 hi_export_module (hikogui.layout.spreadsheet_address)
 
std::tuple< bool, std::size_t, bool, std::size_tv1::_parse_spreadsheet_address (std::string_view &address)
 
std::pair< std::size_t, std::size_tv1::parse_spreadsheet_address (std::string_view address, std::size_t start_column_nr=0, std::size_t start_row_nr=0)
 Parse a spreadsheet address.
 
std::tuple< std::size_t, std::size_t, std::size_t, std::size_tv1::parse_spreadsheet_range (std::string_view address, std::size_t start_column_nr=0, std::size_t start_row_nr=0)
 Parse a spreadsheet range.
 

Detailed Description

Utilities for parsing spreadsheet addresses.

The functions in this file are for handling spreadsheet addresses.

Spreadsheet addresses are of the form:

address_range := address ':' address;
address := '$'? column '$'? row;
column := [A-Z]+;
row := [0-9]+;

Columns start at 'A' for the left most column. After 'Z' follows 'AA' then 'AB'.

Rows start at '1' for the top most row.

A column or row that is prefixed with '$' is absolute, instead of relative.