Citation.hpp

Information about a citation for a single paper / book / etc.

class Citation
#include <Citation.hpp>

Public Types

enum CITE_TYPE

Values:

enumerator ERROR
enumerator UNKNOWN
enumerator ARTICLE
enumerator BOOK
enumerator BOOKLET
enumerator CONFERENCE
enumerator IN_BOOK
enumerator IN_COLLECTION
enumerator MANUAL
enumerator MASTERS_THESIS
enumerator MISC
enumerator PHD_THESIS
enumerator PROCEEDINGS
enumerator TECH_REPORT
enumerator UNPUBLISHED

Public Functions

inline Citation(CITE_TYPE in_type = UNKNOWN)
Citation(const Citation&) = default
inline ~Citation()
Citation &operator=(const Citation&) = default
inline CITE_TYPE GetType() const
inline const vector<Author> &GetAuthors() const
inline const vector<std::string> &GetNotes() const
inline const std::set<std::string> &GetKeywords() const
inline const bool HasKeyword(const std::string &kw) const
inline const std::string &GetVal(const std::string &setting) const
inline const std::string &GetTitle() const
inline const std::string &GetJournal() const
inline const std::string &GetBookTitle() const
inline const std::string &GetVolume() const
inline const std::string &GetYear() const
inline const std::string &GetNumber() const
inline const std::string &GetMonth() const
inline const std::string &GetStartPage() const
inline const std::string &GetEndPage() const
template<typename ...ARGS>
inline Citation &AddAuthor(ARGS&&... args)
inline Citation &AddNote(const std::string &note)
inline Citation &AddKeyword(const std::string &kw)
template<class T>
inline Citation &SetVal(const std::string &setting, T &&val)
template<class T>
inline Citation &SetTitle(T &&val)
template<class T>
inline Citation &SetJournal(T &&val)
template<class T>
inline Citation &SetBookTitle(T &&val)
template<class T>
inline Citation &SetVolume(T &&val)
template<class T>
inline Citation &SetYear(T &&val)
template<class T>
inline Citation &SetNumber(T &&val)
template<class T>
inline Citation &SetMonth(T &&val)
template<class T>
inline Citation &SetStartPage(T &&val)
template<class T>
inline Citation &SetEndPage(T &&val)
template<class T>
inline Citation &SetPages(T &&p1, T &&p2)
inline void SetType(CITE_TYPE in_type)
inline void SetType(std::string in_type)
inline void PrintAuthors(std::ostream &out = std::cout)
inline void PrintERROR(std::ostream &out = std::cout)
inline void PrintUNKNOWN(std::ostream &out = std::cout)
inline void PrintARTICLE(std::ostream &out = std::cout)
inline void PrintBOOK(std::ostream &out = std::cout)
inline void PrintBOOKLET(std::ostream &out = std::cout)
inline void PrintCONFERENCE(std::ostream &out = std::cout)
inline void PrintIN_BOOK(std::ostream &out = std::cout)
inline void PrintIN_COLLECTION(std::ostream &out = std::cout)
inline void PrintMANUAL(std::ostream &out = std::cout)
inline void PrintMASTERS_THESIS(std::ostream &out = std::cout)
inline void PrintMISC(std::ostream &out = std::cout)
inline void PrintPHD_THESIS(std::ostream &out = std::cout)
inline void PrintPROCEEDINGS(std::ostream &out = std::cout)
inline void PrintTECH_REPORT(std::ostream &out = std::cout)
inline void PrintUNPUBLISHED(std::ostream &out = std::cout)
inline void Print(std::ostream &out = std::cout)

Private Members

CITE_TYPE type
vector<Author> author_list
vector<std::string> notes
std::set<std::string> keywords
map<std::string, std::string> setting_map

Private Static Functions

static inline const map<std::string, CITE_TYPE> &GetNameMap()
static inline const multimap<CITE_TYPE, std::string> &GetRNameMap()