123 std::unique_ptr<Private>
p;
std::unique_ptr< Private > p
void insert(const DString &label)
Insert a citation identified by label into the database.
const CiteInfo * find(const DString &label) const
Return the citation info for a given label.
static CitationManager & instance()
void clear()
clears the database
bool empty() const
return true if there are no citations.
DString anchorPrefix() const
DString latexBibFiles()
lists the bibtex cite files in a comma separated list
void insertCrossReferencesForBibFile(const DString &bibFile)
DString replaceFormulas(const DString &s)
~CitationManager()=default
CitationManager()
Create the database, with an expected maximum of size entries.
DString getFormulas(const DString &s)
void generatePage()
Generate the citations page.
constexpr void setNoCite() noexcept
constexpr bool isShortAuthor() const noexcept
constexpr bool isNumber() const noexcept
friend bool operator!=(const CiteInfoOption &t1, const CiteInfoOption &t2)
constexpr bool isYear() const noexcept
constexpr bool noPar() const noexcept
constexpr CiteInfoOption()
static constexpr CiteInfoOption makeNumber()
constexpr CiteInfoOption(int bits)
constexpr void changeToNumber() noexcept
constexpr void setNoPar() noexcept
friend bool operator==(const CiteInfoOption &t1, const CiteInfoOption &t2)
constexpr bool noCite() const noexcept
constexpr bool isUnknown() const noexcept
static constexpr CiteInfoOption makeYear()
static constexpr CiteInfoOption makeShortAuthor()
A String class for use with Doxygen wrapping std::string and adding some additional functionality off...
#define NON_COPYABLE(cls)
Macro to help implementing the rule of 5 for a non-copyable & movable class.
#define ABSTRACT_BASE_CLASS(cls)
Macro to implement rule of 5 for an abstract base class.
virtual DString text() const =0
virtual DString shortAuthor() const =0
virtual DString label() const =0
virtual DString year() const =0