13  typedef std::vector<std::unique_ptr<CanvasItem>>::iterator iterator;
 
   20  iterator begin() 
noexcept { 
return _items.begin(); }
 
   22  iterator end() 
noexcept { 
return _items.end(); }
 
   26  void add(std::vector<Plot> &plot);
 
   30  void erase(std::vector<std::unique_ptr<CanvasItem>>::iterator begin,
 
   31             std::vector<std::unique_ptr<CanvasItem>>::iterator end);
 
   33  void setXMargins(
const std::array<double, 2> &margins);
 
   35  std::array<double, 2> 
const &getXMargins() 
const;
 
   37  void setYMargins(
const std::array<double, 2> &margins);
 
   39  std::array<double, 2> 
const &getYMargins() 
const;
 
   41  void setLayout(
int columns, 
int rows);
 
   43  void setColumns(
int columns);
 
   45  const int &getColumns() 
const;
 
   47  void setRows(
int rows);
 
   49  const int &getRows() 
const;
 
   52  std::vector<std::unique_ptr<CanvasItem>> _items;
 
   54  std::array<double, 2> _xmargins;
 
   56  std::array<double, 2> _ymargins;