]> git.lyx.org Git - lyx.git/blobdiff - src/insets/ExternalTransforms.h
requires is a keyword in C++2a
[lyx.git] / src / insets / ExternalTransforms.h
index 9658a759d1f39e89abe54a4a0c512bae6814445d..d6735b60b5cbf1a7165155ad6eb520ea8e7f97d4 100644 (file)
 #ifndef EXTERNALTRANSFORMS_H
 #define EXTERNALTRANSFORMS_H
 
-#include "lyxlength.h"
+#include "Length.h"
 
 #include "graphics/GraphicsParams.h"
 
+#include "support/unique_ptr.h"
+
 #include <boost/any.hpp>
-#include <boost/function.hpp>
 
-#include <string>
+#include <functional>
 #include <map>
 #include <memory>
+#include <string>
 
-class LyXLex;
 
 namespace lyx {
+
+class Lexer;
+
 namespace external {
 
 /*
@@ -35,7 +39,9 @@ class ClipData {
 public:
        ClipData() : clip(false) {}
 
-       lyx::graphics::BoundingBox bbox;
+       /// The bounding box
+       graphics::BoundingBox bbox;
+       /// clip image
        bool clip;
 };
 
@@ -62,8 +68,8 @@ public:
        bool usingScale() const;
 
        std::string scale;
-       LyXLength width;
-       LyXLength height;
+       Length width;
+       Length height;
        bool keepAspectRatio;
 };
 
@@ -118,7 +124,7 @@ public:
  */
 class TransformCommand {
 public:
-       typedef std::auto_ptr<TransformCommand const> ptr_type;
+       typedef unique_ptr<TransformCommand const> ptr_type;
        virtual ~TransformCommand() {}
 
        /// The string from the External Template that we seek to replace.
@@ -143,7 +149,7 @@ private:
 class ResizeCommand : public TransformCommand {
 protected:
        ResizeData data;
-       ResizeCommand(ResizeData const & data_) : data(data_) {}
+       explicit ResizeCommand(ResizeData const & data_) : data(data_) {}
 
 private:
        virtual std::string const front_placeholder_impl() const
@@ -159,7 +165,7 @@ public:
                { return ptr_type(new ResizeLatexCommand(data)); }
 
 private:
-       ResizeLatexCommand(ResizeData const & data_)
+       explicit ResizeLatexCommand(ResizeData const & data_)
                : ResizeCommand(data_) {}
        virtual std::string const front_impl() const;
        virtual std::string const back_impl() const;
@@ -169,7 +175,7 @@ private:
 class RotationCommand : public TransformCommand {
 protected:
        RotationData data;
-       RotationCommand(RotationData const & data_) : data(data_) {}
+       explicit RotationCommand(RotationData const & data_) : data(data_) {}
 
 private:
        virtual std::string const front_placeholder_impl() const
@@ -185,7 +191,7 @@ public:
                { return ptr_type(new RotationLatexCommand(data)); }
 
 private:
-       RotationLatexCommand(RotationData const & data_)
+       explicit RotationLatexCommand(RotationData const & data_)
                : RotationCommand(data_) {}
        virtual std::string const front_impl() const;
        virtual std::string const back_impl() const;
@@ -197,7 +203,7 @@ private:
  */
 class TransformOption {
 public:
-       typedef std::auto_ptr<TransformOption const> ptr_type;
+       typedef unique_ptr<TransformOption const> ptr_type;
        virtual ~TransformOption() {}
 
        /// The string from the External Template that we seek to replace.
@@ -215,7 +221,7 @@ private:
 class ClipOption : public TransformOption {
 protected:
        ClipData data;
-       ClipOption(ClipData const & data_) : data(data_) {}
+       explicit ClipOption(ClipData const & data_) : data(data_) {}
 
 private:
        virtual std::string const placeholder_impl() const
@@ -229,7 +235,7 @@ public:
                { return ptr_type(new ClipLatexOption(data)); }
 
 private:
-       ClipLatexOption(ClipData const & data_)
+       explicit ClipLatexOption(ClipData const & data_)
                : ClipOption(data_) {}
        virtual std::string const option_impl() const;
 };
@@ -241,7 +247,7 @@ public:
                { return ptr_type(new ExtraOption(data)); }
 
 private:
-       ExtraOption(std::string const & data_) : data(data_) {}
+       explicit ExtraOption(std::string const & data_) : data(data_) {}
 
        virtual std::string const placeholder_impl() const
                { return "$$Extra"; }
@@ -254,7 +260,7 @@ private:
 class ResizeOption : public TransformOption {
 protected:
        ResizeData data;
-       ResizeOption(ResizeData const & data_) : data(data_) {}
+       explicit ResizeOption(ResizeData const & data_) : data(data_) {}
 
 private:
        virtual std::string const placeholder_impl() const
@@ -268,7 +274,7 @@ public:
                { return ptr_type(new ResizeLatexOption(data)); }
 
 private:
-       ResizeLatexOption(ResizeData const & data_)
+       explicit ResizeLatexOption(ResizeData const & data_)
                : ResizeOption(data_) {}
        virtual std::string const option_impl() const;
 };
@@ -277,7 +283,7 @@ private:
 class RotationOption : public TransformOption {
 protected:
        RotationData data;
-       RotationOption(RotationData const & data_) : data(data_) {}
+       explicit RotationOption(RotationData const & data_) : data(data_) {}
 
 private:
        virtual std::string const placeholder_impl() const
@@ -291,7 +297,7 @@ public:
                { return ptr_type(new RotationLatexOption(data)); }
 
 private:
-       RotationLatexOption(RotationData const & data_)
+       explicit RotationLatexOption(RotationData const & data_)
                : RotationOption(data_) {}
        virtual std::string const option_impl() const;
 };
@@ -312,24 +318,24 @@ enum TransformID {
 };
 
 
-typedef boost::function<TransformOption::ptr_type(ClipData)>
+typedef std::function<TransformOption::ptr_type(ClipData)>
        ClipOptionFactory;
-typedef boost::function<TransformOption::ptr_type(std::string)>
+typedef std::function<TransformOption::ptr_type(std::string)>
        ExtraOptionFactory;
-typedef boost::function<TransformOption::ptr_type(ResizeData)>
+typedef std::function<TransformOption::ptr_type(ResizeData)>
        ResizeOptionFactory;
-typedef boost::function<TransformOption::ptr_type(RotationData)>
+typedef std::function<TransformOption::ptr_type(RotationData)>
        RotationOptionFactory;
-typedef boost::function<TransformCommand::ptr_type(ResizeData)>
+typedef std::function<TransformCommand::ptr_type(ResizeData)>
        ResizeCommandFactory;
-typedef boost::function<TransformCommand::ptr_type(RotationData)>
+typedef std::function<TransformCommand::ptr_type(RotationData)>
        RotationCommandFactory;
 
 
 class TransformStore
 {
 public:
-       TransformStore() {}
+       TransformStore() : id(Rotate) {}
 
        /** Stores \c factory and a reminder of what \c data this \c factory
         *  operates on.