X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/cd4be4497c82b49b78567956755727408fe34c1e..ebd170a764ab9660adee464588cda1801c7986b4:/projects/sgconf/action.h?ds=sidebyside

diff --git a/projects/sgconf/action.h b/projects/sgconf/action.h
index 940ea7f6..bd3555ed 100644
--- a/projects/sgconf/action.h
+++ b/projects/sgconf/action.h
@@ -18,8 +18,7 @@
  *    Author : Maxim Mamontov <faust@stargazer.dp.ua>
  */
 
-#ifndef __STG_SGCONF_ACTION_H__
-#define __STG_SGCONF_ACTION_H__
+#pragma once
 
 #include <string>
 #include <map>
@@ -37,21 +36,17 @@ class ACTION
     public:
         virtual ~ACTION() {}
 
-        virtual ACTION * Clone() const = 0;
         virtual std::string ParamDescription() const = 0;
         virtual std::string DefaultDescription() const = 0;
         virtual OPTION_BLOCK & Suboptions() = 0;
         virtual PARSER_STATE Parse(int argc, char ** argv, void * data = NULL) = 0;
         virtual void ParseValue(const std::string &) {}
 
-        class ERROR : public std::runtime_error
+        struct ERROR : std::runtime_error
         {
-            public:
-                ERROR(const std::string & message)
-                    : std::runtime_error(message.c_str()) {}
+            explicit ERROR(const std::string & message)
+                : std::runtime_error(message.c_str()) {}
         };
 };
 
 } // namespace SGCONF
-
-#endif