X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FBiblioInfo.h;h=ecff0ffbf2e38b1b2f0b8990df24b90d6827c0c7;hb=b271e3e06d778dbe7f20973c718f06d8aac0cf6f;hp=525cab50fdec27b0c290d1929d5622d18758d149;hpb=485478e47c94665df7872148e04a3a94db68c8ce;p=lyx.git diff --git a/src/BiblioInfo.h b/src/BiblioInfo.h index 525cab50fd..ecff0ffbf2 100644 --- a/src/BiblioInfo.h +++ b/src/BiblioInfo.h @@ -106,20 +106,20 @@ public: docstring & operator[](docstring const & f) { return bimap_[f]; } /// - docstring allData() const { return allData_; } + docstring const & allData() const { return all_data_; } /// - void allData(docstring const & d) { allData_ = d; } + void setAllData(docstring const & d) { all_data_ = d; } /// - docstring entryType() const { return entryType_; } + docstring entryType() const { return entry_type_; } private: + /// true if from BibTeX; false if from bibliography environment + bool is_bibtex_; /// the BibTeX key for this entry - docstring bibKey_; + docstring bib_key_; /// a single string containing all BibTeX data associated with this key - docstring allData_; + docstring all_data_; /// the BibTeX entry type (article, book, incollection, ...) - docstring entryType_; - /// true if from BibTeX; false if from bibliography environment - bool isBibTeX_; + docstring entry_type_; /// our map: std::map bimap_; }; @@ -129,8 +129,12 @@ private: /// from BibTeX or from bibliography environments. /// BiblioInfo.first is the bibliography key /// BiblioInfo.second is the data for that key -class BiblioInfo : public std::map { +class BiblioInfo { public: + /// + BiblioInfo() {} + /// + typedef std::map::const_iterator const_iterator; /// Returns a sorted vector of bibliography keys std::vector const getKeys() const; /// Returns a sorted vector of present BibTeX fields @@ -149,7 +153,7 @@ public: docstring const getInfo(docstring const & key) const; /** - * "Translates the available Citation Styles into strings for a given key, + * "Translates" the available Citation Styles into strings for a given key, * either numerical or author-year depending upon the active engine. (See * below for those methods.) */ @@ -177,9 +181,29 @@ public: */ std::vector const getAuthorYearStrings(docstring const & key, Buffer const & buf) const; - - std::set fieldNames; - std::set entryTypes; + /// + const_iterator begin() const { return bimap_.begin(); } + /// + void clear() { bimap_.clear(); } + /// + bool empty() const { return bimap_.empty(); } + /// + const_iterator end() const { return bimap_.end(); } + /// + const_iterator find(docstring const & f) const { return bimap_.find(f); } + /// + BibTeXInfo & operator[](docstring const & f) { return bimap_[f]; } + /// + void addFieldName(docstring const & f) { field_names_.insert(f); } + /// + void addEntryType(docstring const & f) { entry_types_.insert(f); } +private: + /// + std::set field_names_; + /// + std::set entry_types_; + /// our map: keys --> BibTeXInfo + std::map bimap_; }; } // namespace lyx