class Author {
public:
///
- Author() {}
+ Author() : used_(false), buffer_id_(0) {};
///
- Author(docstring const & name, docstring const & email)
- : name_(name), email_(email), used_(true), buffer_id_(0) {}
+ Author(docstring const & name, docstring const & email);
+ /// For when the \author line is missing (#9854)
+ Author(int buffer_id);
///
docstring name() const { return name_; }
///
docstring email() const { return email_; }
///
- unsigned int buffer_id() const { return buffer_id_; }
+ docstring nameAndEmail() const;
///
- void setBufferId(unsigned int buffer_id) const { buffer_id_ = buffer_id; }
+ int bufferId() const { return buffer_id_; }
+ ///
+ void setBufferId(int buffer_id) const { buffer_id_ = buffer_id; }
///
void setUsed(bool u) const { used_ = u; }
///
bool used() const { return used_; }
+ /// Was the author line not missing?
+ bool valid() const;
///
friend std::istream & operator>>(std::istream & os, Author & a);
+ ///
+ friend std::ostream & operator<<(std::ostream & os, Author const & a);
private:
/// The author's name
///
mutable bool used_;
/// The id of the author in the lyx-file
- mutable unsigned int buffer_id_;
+ mutable int buffer_id_;
};
///
void record(int id, Author const & a);
///
- Author const & get(int id) const;
+ void recordCurrentAuthor(Author const & a);
///
- typedef std::vector<Author> Authors;
+ Author const & get(int id) const;
///
void sort();
///
+ typedef std::vector<Author> Authors;
+ ///
Authors::const_iterator begin() const;
///
Authors::const_iterator end() const;
friend
std::ostream & operator<<(std::ostream & os, AuthorList const & a);
private:
- ///
- int last_id_;
///
Authors authors_;
};