Sort all includes in src/gromacs
[alexxy/gromacs.git] / src / gromacs / options / options-impl.h
index 6b06f1fcd7c4820941f66733dd3be0b91b53843a..3fba6da02ad8efc80378ae11bceb42d12fa4fd30 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2010,2011,2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2010,2011,2012,2013,2014, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
 #include <string>
 #include <vector>
 
-#include "abstractoption.h"
-#include "options.h"
+#include "gromacs/options/abstractoption.h"
+#include "gromacs/options/optionmanagercontainer.h"
+#include "gromacs/options/options.h"
+#include "gromacs/utility/uniqueptr.h"
 
 namespace gmx
 {
@@ -65,6 +67,9 @@ class AbstractOptionStorage;
 class Options::Impl
 {
     public:
+        //! Smart pointer for managing an AbstractOptionStorage object.
+        typedef gmx_unique_ptr<AbstractOptionStorage>::type
+            AbstractOptionStoragePointer;
         //! Convenience type for list of sections.
         typedef std::vector<Options *> SubSectionList;
         //! Convenience type for list of options.
@@ -107,6 +112,12 @@ class Options::Impl
         std::string             title_;
         //! Full description for the Options object.
         std::string             description_;
+        /*! \brief
+         * Option managers set for this collection.
+         *
+         * This is non-empty only for the top-level Options object.
+         */
+        OptionManagerContainer  managers_;
         /*! \brief
          * List of subsections, in insertion order.
          *