OpenXLSX 1.9.1
Loading...
Searching...
No Matches
OpenXLSX::XLSheetBase< T, typename > Class Template Reference

The XLSheetBase class is the base class for the XLWorksheet and XLChartsheet classes. However, it is not a base class in the traditional sense. Rather, it provides common functionality that is inherited via the CRTP (Curiously Recurring Template Pattern) pattern. More...

#include <XLSheetBase.hpp>

Inheritance diagram for OpenXLSX::XLSheetBase< T, typename >:
OpenXLSX::XLXmlFile

Public Member Functions

 XLSheetBase ()
 Constructor.
 
 XLSheetBase (XLXmlData *xmlData)
 The constructor. There are no default constructor, so all parameters must be provided for constructing an XLAbstractSheet object. Since this is a pure abstract class, instantiation is only possible via one of the derived classes.
 
 XLSheetBase (const XLSheetBase &other)=default
 The copy constructor.
 
 XLSheetBase (XLSheetBase &&other) noexcept=default
 
 ~XLSheetBase ()=default
 The destructor.
 
XLSheetBaseoperator= (const XLSheetBase &)=default
 Assignment operator.
 
XLSheetBaseoperator= (XLSheetBase &&other) noexcept=default
 
XLSheetState visibility () const
 
void setVisibility (XLSheetState state)
 
XLColor color () const
 
void setColor (const XLColor &color)
 
uint16_t index () const
 look up sheet name via relationshipID, then attempt to match that to a sheet in XLWorkbook::sheet(uint16_t index), looping over index
 
void setIndex (uint16_t index)
 
std::string name () const
 Method to retrieve the name of the sheet.
 
void setName (const std::string &sheetName)
 Method for renaming the sheet.
 
bool isSelected () const
 
void setSelected (bool selected)
 
bool isActive () const
 
bool setActive ()
 
void clone (const std::string &newName)
 Method for cloning the sheet.
 
- Public Member Functions inherited from OpenXLSX::XLXmlFile
 XLXmlFile ()=default
 Default constructor.
 
std::string xmlData (XLXmlSavingDeclaration savingDeclaration=XLXmlSavingDeclaration{}) const
 Method for getting the XML data represented by the object.
 
 XLXmlFile (XLXmlData *xmlData)
 Constructor. Creates an object based on the xmlData input.
 
 XLXmlFile (const XLXmlFile &other)=default
 Copy constructor. Default implementation used.
 
 XLXmlFile (XLXmlFile &&other) noexcept=default
 Move constructor. Default implementation used.
 
 ~XLXmlFile ()=default
 Destructor. Default implementation used.
 
bool valid () const
 check whether class is linked to a valid XML file
 
XLXmlFileoperator= (const XLXmlFile &other)=default
 The copy assignment operator. The default implementation has been used.
 
XLXmlFileoperator= (XLXmlFile &&other) noexcept=default
 The move assignment operator. The default implementation has been used.
 
XLDocumentparentDoc ()
 This function provides access to the parent XLDocument object.
 
const XLDocumentparentDoc () const
 This function provides access to the parent XLDocument object.
 
XMLDocumentxmlDocument ()
 This function provides access to the underlying XMLDocument object.
 
const XMLDocumentxmlDocument () const
 This function provides access to the underlying XMLDocument object.
 
std::string getXmlPath () const
 Retrieve the path of the XML data in the .xlsx zip archive via m_xmlData->getXmlPath.
 

Additional Inherited Members

- Protected Member Functions inherited from OpenXLSX::XLXmlFile
void setXmlData (std::string_view xmlData)
 Provide the XML data represented by the object.
 
std::string relationshipID () const
 This function returns the relationship ID (the ID used in the XLRelationships objects) for the object.
 
- Protected Attributes inherited from OpenXLSX::XLXmlFile
XLXmlDatam_xmlData {nullptr}
 

Detailed Description

template<typename T, typename = std::enable_if_t<std::is_same_v<T, XLWorksheet> or std::is_same_v<T, XLChartsheet>>>
class OpenXLSX::XLSheetBase< T, typename >

The XLSheetBase class is the base class for the XLWorksheet and XLChartsheet classes. However, it is not a base class in the traditional sense. Rather, it provides common functionality that is inherited via the CRTP (Curiously Recurring Template Pattern) pattern.

Template Parameters
TType that will inherit functionality. Restricted to types XLWorksheet and XLChartsheet.

Constructor & Destructor Documentation

◆ XLSheetBase() [1/4]

template<typename T , typename = std::enable_if_t<std::is_same_v<T, XLWorksheet> or std::is_same_v<T, XLChartsheet>>>
OpenXLSX::XLSheetBase< T, typename >::XLSheetBase ( )
inline

Constructor.

◆ XLSheetBase() [2/4]

template<typename T , typename = std::enable_if_t<std::is_same_v<T, XLWorksheet> or std::is_same_v<T, XLChartsheet>>>
OpenXLSX::XLSheetBase< T, typename >::XLSheetBase ( XLXmlData xmlData)
inlineexplicit

The constructor. There are no default constructor, so all parameters must be provided for constructing an XLAbstractSheet object. Since this is a pure abstract class, instantiation is only possible via one of the derived classes.

Parameters
xmlData

◆ XLSheetBase() [3/4]

template<typename T , typename = std::enable_if_t<std::is_same_v<T, XLWorksheet> or std::is_same_v<T, XLChartsheet>>>
OpenXLSX::XLSheetBase< T, typename >::XLSheetBase ( const XLSheetBase< T, typename > &  other)
default

The copy constructor.

Parameters
otherThe object to be copied.
Note
The default copy constructor is used, i.e. only shallow copying of pointer data members.

◆ XLSheetBase() [4/4]

template<typename T , typename = std::enable_if_t<std::is_same_v<T, XLWorksheet> or std::is_same_v<T, XLChartsheet>>>
OpenXLSX::XLSheetBase< T, typename >::XLSheetBase ( XLSheetBase< T, typename > &&  other)
defaultnoexcept
Parameters
other

◆ ~XLSheetBase()

template<typename T , typename = std::enable_if_t<std::is_same_v<T, XLWorksheet> or std::is_same_v<T, XLChartsheet>>>
OpenXLSX::XLSheetBase< T, typename >::~XLSheetBase ( )
default

The destructor.

Note
The default destructor is used, since cleanup of pointer data members is not required.

Member Function Documentation

◆ clone()

template<typename T , typename = std::enable_if_t<std::is_same_v<T, XLWorksheet> or std::is_same_v<T, XLChartsheet>>>
void OpenXLSX::XLSheetBase< T, typename >::clone ( const std::string &  newName)
inline

Method for cloning the sheet.

Parameters
newNameA std::string with the name of the clone
Returns
A pointer to the cloned object.
Note
This is a pure abstract method. I.e. it is implemented in subclasses.

◆ color()

template<typename T , typename = std::enable_if_t<std::is_same_v<T, XLWorksheet> or std::is_same_v<T, XLChartsheet>>>
XLColor OpenXLSX::XLSheetBase< T, typename >::color ( ) const
inline
Returns
Todo:
To be implemented.

◆ index()

template<typename T , typename = std::enable_if_t<std::is_same_v<T, XLWorksheet> or std::is_same_v<T, XLChartsheet>>>
uint16_t OpenXLSX::XLSheetBase< T, typename >::index ( ) const
inline

look up sheet name via relationshipID, then attempt to match that to a sheet in XLWorkbook::sheet(uint16_t index), looping over index

Returns
the index by which the sheet could be accessed from XLWorkbook::sheet

◆ isActive()

template<typename T , typename = std::enable_if_t<std::is_same_v<T, XLWorksheet> or std::is_same_v<T, XLChartsheet>>>
bool OpenXLSX::XLSheetBase< T, typename >::isActive ( ) const
inline
Returns

◆ isSelected()

template<typename T , typename = std::enable_if_t<std::is_same_v<T, XLWorksheet> or std::is_same_v<T, XLChartsheet>>>
bool OpenXLSX::XLSheetBase< T, typename >::isSelected ( ) const
inline
Returns

◆ name()

template<typename T , typename = std::enable_if_t<std::is_same_v<T, XLWorksheet> or std::is_same_v<T, XLChartsheet>>>
std::string OpenXLSX::XLSheetBase< T, typename >::name ( ) const
inline

Method to retrieve the name of the sheet.

Returns
A std::string with the sheet name.

◆ operator=() [1/2]

template<typename T , typename = std::enable_if_t<std::is_same_v<T, XLWorksheet> or std::is_same_v<T, XLChartsheet>>>
XLSheetBase & OpenXLSX::XLSheetBase< T, typename >::operator= ( const XLSheetBase< T, typename > &  )
default

Assignment operator.

Returns
A reference to the new object.
Note
The default assignment operator is used, i.e. only shallow copying of pointer data members.

◆ operator=() [2/2]

template<typename T , typename = std::enable_if_t<std::is_same_v<T, XLWorksheet> or std::is_same_v<T, XLChartsheet>>>
XLSheetBase & OpenXLSX::XLSheetBase< T, typename >::operator= ( XLSheetBase< T, typename > &&  other)
defaultnoexcept
Parameters
other
Returns

◆ setActive()

template<typename T , typename = std::enable_if_t<std::is_same_v<T, XLWorksheet> or std::is_same_v<T, XLChartsheet>>>
bool OpenXLSX::XLSheetBase< T, typename >::setActive ( )
inline

◆ setColor()

template<typename T , typename = std::enable_if_t<std::is_same_v<T, XLWorksheet> or std::is_same_v<T, XLChartsheet>>>
void OpenXLSX::XLSheetBase< T, typename >::setColor ( const XLColor color)
inline
Parameters
color

◆ setIndex()

template<typename T , typename = std::enable_if_t<std::is_same_v<T, XLWorksheet> or std::is_same_v<T, XLChartsheet>>>
void OpenXLSX::XLSheetBase< T, typename >::setIndex ( uint16_t  index)
inline
Parameters
index

◆ setName()

template<typename T , typename = std::enable_if_t<std::is_same_v<T, XLWorksheet> or std::is_same_v<T, XLChartsheet>>>
void OpenXLSX::XLSheetBase< T, typename >::setName ( const std::string &  sheetName)
inline

Method for renaming the sheet.

Parameters
sheetNameA std::string with the new name.

◆ setSelected()

template<typename T , typename = std::enable_if_t<std::is_same_v<T, XLWorksheet> or std::is_same_v<T, XLChartsheet>>>
void OpenXLSX::XLSheetBase< T, typename >::setSelected ( bool  selected)
inline
Parameters
selected

◆ setVisibility()

template<typename T , typename = std::enable_if_t<std::is_same_v<T, XLWorksheet> or std::is_same_v<T, XLChartsheet>>>
void OpenXLSX::XLSheetBase< T, typename >::setVisibility ( XLSheetState  state)
inline
Parameters
state

◆ visibility()

template<typename T , typename = std::enable_if_t<std::is_same_v<T, XLWorksheet> or std::is_same_v<T, XLChartsheet>>>
XLSheetState OpenXLSX::XLSheetBase< T, typename >::visibility ( ) const
inline
Returns

The documentation for this class was generated from the following file: