///
Token(docstring const & cs, CatCode cat) : cs_(to_utf8(cs)), cat_(cat) {}
- ///
+ /// Returns the token as string
std::string const & cs() const { return cs_; }
/// Returns the catcode of the token
CatCode cat() const { return cat_; }
///
char character() const { return cs_.empty() ? 0 : cs_[0]; }
- /// Returns the token as string
- std::string asString() const;
/// Returns the token verbatim
std::string asInput() const;
///
~Parser();
+ /// change the latex encoding of the input stream
+ void setEncoding(std::string const & encoding);
+ /// get the current latex encoding of the input stream
+ std::string getEncoding() const { return encoding_latex_; }
+
///
int lineno() const { return lineno_; }
///
*/
std::string getOpt();
/*!
- * \returns getFullArg('(', ')') including the parentheses or the
+ * \returns getFullArg('[', ']') including the parentheses or the
* empty string if there is no such argument.
*/
+ std::string getOptContent();
+ /*!
+ * the same as getOpt but without the brackets
+ */
std::string getFullParentheseArg();
/*!
* \returns the contents of the environment \p name.
///
void push_back(Token const & t);
/// The previous token.
- Token const & prev_token() const;
+ Token const prev_token() const;
/// The current token.
- Token const & curr_token() const;
+ Token const curr_token() const;
/// The next token.
- Token const & next_token();
+ Token const next_token();
/// Make the next token current and return that.
- Token const & get_token();
+ Token const get_token();
/// \return whether the current token starts a new paragraph
bool isParagraph();
/// skips spaces (and comments if \p skip_comments is true)
idocstringstream * iss_;
///
idocstream & is_;
+ /// latex name of the current encoding
+ std::string encoding_latex_;
};