summaryrefslogtreecommitdiff
path: root/Build/source/texk/dvisvgm/dvisvgm-src/src/CMapReader.hpp
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2018-01-17 22:50:15 +0000
committerKarl Berry <karl@freefriends.org>2018-01-17 22:50:15 +0000
commite7dfe5ab98e759081fc73990ed6c1ac6910a105d (patch)
tree1635f79c86856a6aa57a45b8b952b651ef9fcba9 /Build/source/texk/dvisvgm/dvisvgm-src/src/CMapReader.hpp
parentae542350b1e3add10d4ee3d7b68f610132f31a50 (diff)
dvisvgm 2.3.1 (patched)
git-svn-id: svn://tug.org/texlive/trunk@46352 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/dvisvgm/dvisvgm-src/src/CMapReader.hpp')
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/CMapReader.hpp22
1 files changed, 10 insertions, 12 deletions
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/CMapReader.hpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/CMapReader.hpp
index 7c6662d2b17..3d199f6bbf0 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/src/CMapReader.hpp
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/CMapReader.hpp
@@ -2,7 +2,7 @@
** CMapReader.hpp **
** **
** This file is part of dvisvgm -- a fast DVI to SVG converter **
-** Copyright (C) 2005-2017 Martin Gieseking <martin.gieseking@uos.de> **
+** Copyright (C) 2005-2018 Martin Gieseking <martin.gieseking@uos.de> **
** **
** This program is free software; you can redistribute it and/or **
** modify it under the terms of the GNU General Public License as **
@@ -23,6 +23,7 @@
#include <cstdlib>
#include <istream>
+#include <memory>
#include <string>
#include <vector>
#include "MessageException.hpp"
@@ -31,10 +32,8 @@
struct CMap;
class InputReader;
-class CMapReader
-{
- class Token
- {
+class CMapReader {
+ class Token {
public:
enum class Type {UNKNOWN, END, DELIM, NUMBER, STRING, NAME, OPERATOR};
@@ -52,8 +51,8 @@ class CMapReader
public:
CMapReader ();
- CMap* read (const std::string &fname);
- CMap* read (std::istream &is, const std::string &name);
+ std::unique_ptr<CMap> read (const std::string &fname);
+ std::unique_ptr<CMap> read (std::istream &is, const std::string &name);
protected:
Token popToken () {Token t=_tokens.back(); _tokens.pop_back(); return t;}
@@ -66,15 +65,14 @@ class CMapReader
void op_usecmap (InputReader &ir);
private:
- SegmentedCMap *_cmap; ///< CMap being read
- std::vector<Token> _tokens; ///< stack of tokens to be processed
- bool _inCMap; ///< operator begincmap has been executed
+ std::unique_ptr<SegmentedCMap> _cmap; ///< pointer to CMap being read
+ std::vector<Token> _tokens; ///< stack of tokens to be processed
+ bool _inCMap; ///< operator begincmap has been executed
};
-struct CMapReaderException : public MessageException
-{
+struct CMapReaderException : public MessageException {
CMapReaderException (const std::string &msg) : MessageException(msg) {}
};