COMPMID-1008: Fix Doxygen issues

Change-Id: Ie73d8771f85d1f5b059f3a56f1bbd73c98e94a38
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/124723
Reviewed-by: Michalis Spyrou <michalis.spyrou@arm.com>
Tested-by: Jenkins <bsgcomp@arm.com>
diff --git a/tests/framework/Exceptions.h b/tests/framework/Exceptions.h
index f35c350..687305b 100644
--- a/tests/framework/Exceptions.h
+++ b/tests/framework/Exceptions.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2018 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -94,6 +94,10 @@
      */
     LogLevel level() const;
 
+    /** Get the error message.
+     *
+     * @return error message.
+     */
     const char *what() const noexcept override;
 
 private:
diff --git a/tests/framework/Framework.h b/tests/framework/Framework.h
index d7a9cfb..65ffc0a 100644
--- a/tests/framework/Framework.h
+++ b/tests/framework/Framework.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2018 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -65,10 +65,10 @@
  */
 struct TestInfo
 {
-    int                     id;
-    std::string             name;
-    DatasetMode             mode;
-    TestCaseFactory::Status status;
+    int                     id;     /**< Test ID */
+    std::string             name;   /**< Test name */
+    DatasetMode             mode;   /**< Test data set mode */
+    TestCaseFactory::Status status; /**< Test status */
 };
 
 inline bool operator<(const TestInfo &lhs, const TestInfo &rhs)
diff --git a/tests/framework/Profiler.h b/tests/framework/Profiler.h
index 930075e..62a3dee 100644
--- a/tests/framework/Profiler.h
+++ b/tests/framework/Profiler.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2018 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -63,7 +63,10 @@
     /** Stop all added instruments. */
     void stop();
 
-    /** Return measurements for all instruments. */
+    /** Return measurements for all instruments.
+     *
+     * @return measurements for all instruments.
+     */
     const MeasurementsMap &measurements() const;
 
 private:
diff --git a/tests/framework/TestCase.h b/tests/framework/TestCase.h
index 18dd12e..d7bf54d 100644
--- a/tests/framework/TestCase.h
+++ b/tests/framework/TestCase.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2018 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -40,9 +40,13 @@
 class TestCase
 {
 public:
+    /** Setup the test */
     virtual void do_setup() {};
+    /** Run the test */
     virtual void do_run() {};
+    /** Sync the test */
     virtual void do_sync() {};
+    /** Teardown the test */
     virtual void do_teardown() {};
 
     /** Default destructor. */
@@ -54,10 +58,15 @@
     friend class TestCaseFactory;
 };
 
+/** Data test case class */
 template <typename T>
 class DataTestCase : public TestCase
 {
 protected:
+    /** Construct a data test case.
+     *
+     * @param[in] data Test data.
+     */
     explicit DataTestCase(T data)
         : _data{ std::move(data) }
     {
diff --git a/tests/framework/TestCaseFactory.h b/tests/framework/TestCaseFactory.h
index b8c8cdb..7164f8f 100644
--- a/tests/framework/TestCaseFactory.h
+++ b/tests/framework/TestCaseFactory.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2018 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -110,6 +110,7 @@
     std::unique_ptr<TestCase> make() const override;
 };
 
+/** Implementation of a test case factory to create data test cases. */
 template <typename T, typename D>
 class DataTestCaseFactory final : public TestCaseFactory
 {
diff --git a/tests/framework/TestResult.h b/tests/framework/TestResult.h
index e71ef95..cdace17 100644
--- a/tests/framework/TestResult.h
+++ b/tests/framework/TestResult.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2018 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -71,8 +71,8 @@
     {
     }
 
-    Status                    status{ Status::NOT_RUN }; //< Execution status
-    Profiler::MeasurementsMap measurements{};            //< Profiling information
+    Status                    status{ Status::NOT_RUN }; /**< Execution status */
+    Profiler::MeasurementsMap measurements{};            /**< Profiling information */
 };
 } // namespace framework
 } // namespace test
diff --git a/tests/framework/command_line/CommonOptions.h b/tests/framework/command_line/CommonOptions.h
index 2da2c99..651316c 100644
--- a/tests/framework/command_line/CommonOptions.h
+++ b/tests/framework/command_line/CommonOptions.h
@@ -40,15 +40,15 @@
 enum class LogLevel;
 
 /** Common command line options used to configure the framework
-     *
-     * The options in this object get populated when "parse()" is called on the parser used to construct it.
-     * The expected workflow is:
-     *
-     * CommandLineParser parser;
-     * CommonOptions options( parser );
-     * parser.parse(argc, argv);
-     * if(options.log_level->value() > LogLevel::NONE) --> Use the options values
-     */
+ *
+ * The options in this object get populated when "parse()" is called on the parser used to construct it.
+ * The expected workflow is:
+ *
+ * CommandLineParser parser;
+ * CommonOptions options( parser );
+ * parser.parse(argc, argv);
+ * if(options.log_level->value() > LogLevel::NONE) --> Use the options values
+ */
 class CommonOptions
 {
 public:
@@ -57,7 +57,9 @@
      * @param[in,out] parser A parser on which "parse()" hasn't been called yet.
      */
     CommonOptions(CommandLineParser &parser);
+    /** Prevent instances of this class from being copy constructed */
     CommonOptions(const CommonOptions &) = delete;
+    /** Prevent instances of this class from being copied */
     CommonOptions &operator=(const CommonOptions &) = delete;
     /** Create the printers based on parsed command line options
      *
@@ -67,19 +69,19 @@
      */
     std::vector<std::unique_ptr<Printer>> create_printers();
 
-    ToggleOption                               *help;
-    EnumListOption<InstrumentsDescription>     *instruments;
-    SimpleOption<int>                          *iterations;
-    SimpleOption<int>                          *threads;
-    EnumOption<LogFormat>                      *log_format;
-    SimpleOption<std::string>                  *log_file;
-    EnumOption<LogLevel>                       *log_level;
-    ToggleOption                               *throw_errors;
-    ToggleOption                               *color_output;
-    ToggleOption                               *pretty_console;
-    SimpleOption<std::string>                  *json_file;
-    SimpleOption<std::string>                  *pretty_file;
-    std::vector<std::shared_ptr<std::ofstream>> log_streams;
+    ToggleOption                               *help;           /**< Show help option */
+    EnumListOption<InstrumentsDescription>     *instruments;    /**< Instruments option */
+    SimpleOption<int>                          *iterations;     /**< Number of iterations option */
+    SimpleOption<int>                          *threads;        /**< Number of threads option */
+    EnumOption<LogFormat>                      *log_format;     /**< Log format option */
+    SimpleOption<std::string>                  *log_file;       /**< Log file option */
+    EnumOption<LogLevel>                       *log_level;      /**< Logging level option */
+    ToggleOption                               *throw_errors;   /**< Throw errors option */
+    ToggleOption                               *color_output;   /**< Color output option */
+    ToggleOption                               *pretty_console; /**< Pretty console option */
+    SimpleOption<std::string>                  *json_file;      /**< JSON output file option */
+    SimpleOption<std::string>                  *pretty_file;    /**< Pretty output file option */
+    std::vector<std::shared_ptr<std::ofstream>> log_streams;    /**< Log streams */
 };
 
 } // namespace framework
diff --git a/tests/framework/command_line/EnumListOption.h b/tests/framework/command_line/EnumListOption.h
index 6155a5d..39006d8 100644
--- a/tests/framework/command_line/EnumListOption.h
+++ b/tests/framework/command_line/EnumListOption.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2018 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -60,7 +60,12 @@
     EnumListOption(std::string name, std::set<T> allowed_values, std::initializer_list<T> &&default_values);
 
     bool parse(std::string value) override;
-    std::string           help() const override;
+    std::string help() const override;
+
+    /** Get the values of the option.
+     *
+     * @return a list of the selected option values.
+     */
     const std::vector<T> &value() const;
 
 private:
diff --git a/tests/framework/command_line/EnumOption.h b/tests/framework/command_line/EnumOption.h
index 1abba77..14d6185 100644
--- a/tests/framework/command_line/EnumOption.h
+++ b/tests/framework/command_line/EnumOption.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2018 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -59,7 +59,12 @@
 
     bool parse(std::string value) override;
     std::string help() const override;
-    const T    &value() const;
+
+    /** Get the selected value.
+     *
+     * @return get the selected enum value.
+     */
+    const T &value() const;
 
 private:
     std::set<T> _allowed_values{};
diff --git a/tests/framework/command_line/ListOption.h b/tests/framework/command_line/ListOption.h
index 8b1bb3d..07184e8 100644
--- a/tests/framework/command_line/ListOption.h
+++ b/tests/framework/command_line/ListOption.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2018 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -53,7 +53,12 @@
     ListOption(std::string name, std::initializer_list<T> &&default_values);
 
     bool parse(std::string value) override;
-    std::string           help() const override;
+    std::string help() const override;
+
+    /** Get the list of option values.
+     *
+     * @return get the list of option values.
+     */
     const std::vector<T> &value() const;
 
 private:
diff --git a/tests/framework/command_line/SimpleOption.h b/tests/framework/command_line/SimpleOption.h
index e6e8045..d02778e 100644
--- a/tests/framework/command_line/SimpleOption.h
+++ b/tests/framework/command_line/SimpleOption.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2018 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -50,9 +50,25 @@
      */
     SimpleOption(std::string name, T default_value);
 
+    /** Parses the given string.
+     *
+     * @param[in] value String representation as passed on the command line.
+     *
+     * @return True if the value could be parsed by the specific subclass.
+     */
     bool parse(std::string value) override;
+
+    /** Help message for the option.
+     *
+     * @return String representing the help message for the specific subclass.
+     */
     std::string help() const override;
-    const T    &value() const;
+
+    /** Get the option value.
+     *
+     * @return the option value.
+     */
+    const T &value() const;
 
 protected:
     T _value{};
diff --git a/tests/framework/datasets/CartesianProductDataset.h b/tests/framework/datasets/CartesianProductDataset.h
index 438a782..b2790d7 100644
--- a/tests/framework/datasets/CartesianProductDataset.h
+++ b/tests/framework/datasets/CartesianProductDataset.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2018 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -64,6 +64,7 @@
     {
     }
 
+    /** Allow instances of this class to be move constructed */
     CartesianProductDataset(CartesianProductDataset &&) = default;
 
     /** Type of the dataset. */
@@ -72,6 +73,11 @@
     /** Iterator for the dataset. */
     struct iterator
     {
+        /** Construct an iterator.
+         *
+         * @param[in] dataset1 Dataset 1.
+         * @param[in] dataset2 Dataset 2.
+         */
         iterator(const T_noref *dataset1, const U_noref *dataset2)
             : _iter1{ dataset1->begin() },
               _dataset2{ dataset2 },
@@ -79,23 +85,40 @@
         {
         }
 
+        /** Allow instances of this class to be copy constructed */
         iterator(const iterator &) = default;
+        /** Allow instances of this class to be copied */
         iterator &operator=(const iterator &) = default;
-        iterator(iterator &&)                 = default;
+        /** Allow instances of this class to be move constructed */
+        iterator(iterator &&) = default;
+        /** Allow instances of this class to be moved */
         iterator &operator=(iterator &&) = default;
 
+        /** Default destructor */
         ~iterator() = default;
 
+        /** Get the description of the current value.
+         *
+         * @return description of the current value.
+         */
         std::string description() const
         {
             return _iter1.description() + ":" + _iter2.description();
         }
 
+        /** Get the value of the iterator.
+         *
+         * @return the value of the iterator.
+         */
         CartesianProductDataset::type operator*() const
         {
             return std::tuple_cat(*_iter1, *_iter2);
         }
 
+        /** Inrement the iterator.
+         *
+         * @return *this;
+         */
         iterator &operator++()
         {
             ++_second_pos;
@@ -159,6 +182,13 @@
     return CartesianProductDataset<T, U>(std::forward<T>(dataset1), std::forward<U>(dataset2));
 }
 
+/** Helper function to create a @ref CartesianProductDataset.
+ *
+ * @param[in] dataset1 First dataset.
+ * @param[in] dataset2 Second dataset.
+ *
+ * @return A grid dataset.
+ */
 template <typename T, typename U>
 CartesianProductDataset<T, U>
 operator*(T &&dataset1, U &&dataset2)
diff --git a/tests/framework/datasets/ContainerDataset.h b/tests/framework/datasets/ContainerDataset.h
index 80616c4..8dfd216 100644
--- a/tests/framework/datasets/ContainerDataset.h
+++ b/tests/framework/datasets/ContainerDataset.h
@@ -72,8 +72,10 @@
     {
     }
 
+    /** Allow instances of this class to be copy constructed */
     ContainerDataset(const ContainerDataset &) = default;
-    ContainerDataset(ContainerDataset &&)      = default;
+    /** Allow instances of this class to be move constructed */
+    ContainerDataset(ContainerDataset &&) = default;
 
     /** Type of the dataset. */
     using type = std::tuple<container_value_type>;
@@ -81,22 +83,39 @@
     /** Iterator for the dataset. */
     struct iterator
     {
+        /** Construct iterator
+         *
+         * @param[in] name     Description of the values.
+         * @param[in] iterator Iterator for the values.
+         */
         iterator(std::string name, container_const_iterator iterator)
             : _name{ name }, _iterator{ iterator }
         {
         }
 
+        /** Get a description of the current value.
+         *
+         * @return a description.
+         */
         std::string description() const
         {
             using support::cpp11::to_string;
             return _name + "=" + to_string(*_iterator);
         }
 
+        /** Get the current value.
+         *
+         * @return the current value.
+         */
         ContainerDataset::type operator*() const
         {
             return std::make_tuple(*_iterator);
         }
 
+        /** Increment the iterator.
+         *
+         * @return this.
+         */
         iterator &operator++()
         {
             ++_iterator;
diff --git a/tests/framework/datasets/Dataset.h b/tests/framework/datasets/Dataset.h
index d916730..5fcdc49 100644
--- a/tests/framework/datasets/Dataset.h
+++ b/tests/framework/datasets/Dataset.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2018 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -39,10 +39,13 @@
 class Dataset
 {
 protected:
-    Dataset()  = default;
+    /** Default constructor. */
+    Dataset() = default;
+    /** Default destructor. */
     ~Dataset() = default;
 
 public:
+    /** Allow instances of this class to be move constructed */
     Dataset(Dataset &&) = default;
 };
 
@@ -62,9 +65,11 @@
     {
     }
 
+    /** Default destructor. */
     ~NamedDataset() = default;
 
 public:
+    /** Allow instances of this class to be move constructed */
     NamedDataset(NamedDataset &&) = default;
 
     /** Return name of the dataset.
diff --git a/tests/framework/datasets/InitializerListDataset.h b/tests/framework/datasets/InitializerListDataset.h
index 7d32234..f90e0b7 100644
--- a/tests/framework/datasets/InitializerListDataset.h
+++ b/tests/framework/datasets/InitializerListDataset.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2018 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -59,6 +59,7 @@
     {
     }
 
+    /** Allow instances of this class to be move constructed */
     InitializerListDataset(InitializerListDataset &&) = default;
 
     /** Type of the dataset. */
@@ -67,22 +68,39 @@
     /** Iterator for the dataset. */
     struct iterator
     {
+        /** Construct an iterator for the dataset
+         *
+         * @param[in] name     Name of the dataset.
+         * @param[in] iterator Iterator of the dataset values.
+         */
         iterator(std::string name, data_const_iterator iterator)
             : _name{ name }, _iterator{ iterator }
         {
         }
 
+        /** Get a description of the current value.
+         *
+         * @return a description.
+         */
         std::string description() const
         {
             using support::cpp11::to_string;
             return _name + "=" + to_string(*_iterator);
         }
 
+        /** Get the current value.
+         *
+         * @return the current value.
+         */
         InitializerListDataset::type operator*() const
         {
             return std::make_tuple(*_iterator);
         }
 
+        /** Increment the iterator.
+         *
+         * @return *this.
+         */
         iterator &operator++()
         {
             ++_iterator;
diff --git a/tests/framework/datasets/JoinDataset.h b/tests/framework/datasets/JoinDataset.h
index d682c19..bf504ec 100644
--- a/tests/framework/datasets/JoinDataset.h
+++ b/tests/framework/datasets/JoinDataset.h
@@ -64,6 +64,7 @@
     {
     }
 
+    /** Allow instances of this class to be move constructed */
     JoinDataset(JoinDataset &&) = default;
 
     /** Type of the dataset. */
@@ -72,21 +73,38 @@
     /** Iterator for the dataset. */
     struct iterator
     {
+        /** Construct an iterator.
+         *
+         * @param[in] dataset1 Dataset 1.
+         * @param[in] dataset2 Dataset 2.
+         */
         iterator(const T_noref *dataset1, const U_noref *dataset2)
             : _iter1{ dataset1->begin() }, _iter2{ dataset2->begin() }, _first_size{ dataset1->size() }
         {
         }
 
+        /** Get the description of the current value.
+         *
+         * @return description of the current value.
+         */
         std::string description() const
         {
             return _first_size > 0 ? _iter1.description() : _iter2.description();
         }
 
+        /** Get the value of the iterator.
+         *
+         * @return the value of the iterator.
+         */
         JoinDataset::type operator*() const
         {
             return _first_size > 0 ? *_iter1 : *_iter2;
         }
 
+        /** Inrement the iterator.
+         *
+         * @return *this;
+         */
         iterator &operator++()
         {
             if(_first_size > 0)
diff --git a/tests/framework/datasets/RangeDataset.h b/tests/framework/datasets/RangeDataset.h
index 637abe0..a087566 100644
--- a/tests/framework/datasets/RangeDataset.h
+++ b/tests/framework/datasets/RangeDataset.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2018 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -60,6 +60,7 @@
     {
     }
 
+    /** Allow instances of this class to be move constructed */
     RangeDataset(RangeDataset &&) = default;
 
     /** Type of the dataset. */
@@ -68,22 +69,40 @@
     /** Iterator for the dataset. */
     struct iterator
     {
+        /** Construct an iterator.
+         *
+         * @param[in] name  Dataset name.
+         * @param[in] start Dataset start value.
+         * @param[in] step  Dataset step size.
+         */
         iterator(std::string name, T start, T step)
             : _name{ name }, _value{ start }, _step{ step }
         {
         }
 
+        /** Get the description of the current value.
+         *
+         * @return description of the current value.
+         */
         std::string description() const
         {
             using support::cpp11::to_string;
             return _name + "=" + to_string(_value);
         }
 
+        /** Get the value of the iterator.
+         *
+         * @return the value of the iterator.
+         */
         RangeDataset::type operator*() const
         {
             return std::make_tuple(_value);
         }
 
+        /** Inrement the iterator.
+         *
+         * @return *this;
+         */
         iterator &operator++()
         {
             _value += _step;
diff --git a/tests/framework/datasets/SingletonDataset.h b/tests/framework/datasets/SingletonDataset.h
index 1acb576..47a38ec 100644
--- a/tests/framework/datasets/SingletonDataset.h
+++ b/tests/framework/datasets/SingletonDataset.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2018 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -56,6 +56,7 @@
     {
     }
 
+    /** Allow instances of this class to be move constructed */
     SingletonDataset(SingletonDataset &&) = default;
 
     /** Type of the dataset. */
@@ -64,29 +65,51 @@
     /** Iterator for the dataset. */
     struct iterator
     {
+        /** Construct an iterator.
+         *
+         * @param[in] name  Name of the dataset.
+         * @param[in] value The singleton value.
+         */
         iterator(std::string name, const T *value)
             : _name{ name }, _value{ value }
         {
         }
 
+        /** Default destructor. */
         ~iterator() = default;
 
+        /** Allow instances of this class to be copy constructed */
         iterator(const iterator &) = default;
+        /** Allow instances of this class to be copied */
         iterator &operator=(const iterator &) = default;
-        iterator(iterator &&)                 = default;
+        /** Allow instances of this class to be move constructed */
+        iterator(iterator &&) = default;
+        /** Allow instances of this class to be moved */
         iterator &operator=(iterator &&) = default;
 
+        /** Get the description of the current value.
+         *
+         * @return description of the current value.
+         */
         std::string description() const
         {
             using support::cpp11::to_string;
             return _name + "=" + to_string(*_value);
         }
 
+        /** Get the value of the iterator.
+         *
+         * @return the value of the iterator.
+         */
         SingletonDataset::type operator*() const
         {
             return std::make_tuple(*_value);
         }
 
+        /** Inrement the iterator.
+         *
+         * @return *this;
+         */
         iterator &operator++()
         {
             return *this;
diff --git a/tests/framework/datasets/ZipDataset.h b/tests/framework/datasets/ZipDataset.h
index b95b720..3d93b92 100644
--- a/tests/framework/datasets/ZipDataset.h
+++ b/tests/framework/datasets/ZipDataset.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2018 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -62,6 +62,7 @@
     {
     }
 
+    /** Allow instances of this class to be move constructed */
     ZipDataset(ZipDataset &&) = default;
 
     /** Type of the dataset. */
@@ -70,21 +71,38 @@
     /** Iterator for the dataset. */
     struct iterator
     {
+        /** Construct an iterator.
+         *
+         * @param[in] iter1 Iterator 1.
+         * @param[in] iter2 Iterator 2.
+         */
         iterator(iter1_type iter1, iter2_type iter2)
             : _iter1{ std::move(iter1) }, _iter2{ std::move(iter2) }
         {
         }
 
+        /** Get the description of the current value.
+         *
+         * @return description of the current value.
+         */
         std::string description() const
         {
             return _iter1.description() + ":" + _iter2.description();
         }
 
+        /** Get the value of the iterator.
+         *
+         * @return the value of the iterator.
+         */
         ZipDataset::type operator*() const
         {
             return std::tuple_cat(*_iter1, *_iter2);
         }
 
+        /** Inrement the iterator.
+         *
+         * @return *this;
+         */
         iterator &operator++()
         {
             ++_iter1;
diff --git a/tests/framework/instruments/Instrument.h b/tests/framework/instruments/Instrument.h
index e25939a..0df53f4 100644
--- a/tests/framework/instruments/Instrument.h
+++ b/tests/framework/instruments/Instrument.h
@@ -57,13 +57,19 @@
     template <typename T, ScaleFactor scale>
     static std::unique_ptr<Instrument> make_instrument();
 
+    /** Default constructor. */
     Instrument() = default;
 
+    /** Allow instances of this class to be copy constructed */
     Instrument(const Instrument &) = default;
-    Instrument(Instrument &&)      = default;
+    /** Allow instances of this class to be move constructed */
+    Instrument(Instrument &&) = default;
+    /** Allow instances of this class to be copied */
     Instrument &operator=(const Instrument &) = default;
+    /** Allow instances of this class to be moved */
     Instrument &operator=(Instrument &&) = default;
-    virtual ~Instrument()                = default;
+    /** Default destructor. */
+    virtual ~Instrument() = default;
 
     /** Identifier for the instrument */
     virtual std::string id() const = 0;
@@ -74,9 +80,13 @@
     /** Stop measuring. */
     virtual void stop() = 0;
 
+    /** Map of measurements */
     using MeasurementsMap = std::map<std::string, Measurement>;
 
-    /** Return the latest measurement. */
+    /** Return the latest measurement.
+     *
+     * @return the latest measurement.
+     */
     virtual MeasurementsMap measurements() const = 0;
 
 protected:
diff --git a/tests/framework/instruments/MaliCounter.h b/tests/framework/instruments/MaliCounter.h
index b7c3483..a3cc446 100644
--- a/tests/framework/instruments/MaliCounter.h
+++ b/tests/framework/instruments/MaliCounter.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2018 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -41,10 +41,15 @@
 class MaliCounter : public Instrument
 {
 public:
-    /** Default constructor. */
+    /** Default constructor.
+     *
+     * @param[in] scale_factor Measurement scale factor;
+     */
     MaliCounter(ScaleFactor scale_factor);
 
+    /** Prevent instances of this class from being copy constructed */
     MaliCounter(const MaliCounter &) = delete;
+    /** Prevent instances of this class from being copied */
     MaliCounter &operator=(const MaliCounter &) = delete;
 
     /** Default destructor */
diff --git a/tests/framework/instruments/Measurement.h b/tests/framework/instruments/Measurement.h
index 1beacf6..5c62977 100644
--- a/tests/framework/instruments/Measurement.h
+++ b/tests/framework/instruments/Measurement.h
@@ -40,6 +40,7 @@
 /** Generic measurement that stores values as either double or long long int. */
 struct Measurement
 {
+    /** Measurement value */
     struct Value
     {
         /** Constructor
@@ -187,6 +188,13 @@
             }
         }
 
+        /** Get the relative standard deviation to a given distribution as a percentage.
+         *
+         * @param[in] variance The variance of the distribution.
+         * @param[in] mean     The mean of the distribution.
+         *
+         * @return the relative standard deviation.
+         */
         static double relative_standard_deviation(const Value &variance, const Value &mean)
         {
             if(variance.is_floating_point)
@@ -222,6 +230,11 @@
     /** Stream output operator to print the measurement.
      *
      * Prints value and unit.
+     *
+     * @param[out] os          Output stream.
+     * @param[in]  measurement Measurement.
+     *
+     * @return the modified output stream.
      */
     friend inline std::ostream &operator<<(std::ostream &os, const Measurement &measurement)
     {
diff --git a/tests/framework/instruments/OpenCLTimer.h b/tests/framework/instruments/OpenCLTimer.h
index a3dc107..4457878 100644
--- a/tests/framework/instruments/OpenCLTimer.h
+++ b/tests/framework/instruments/OpenCLTimer.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2018 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -42,6 +42,10 @@
 class OpenCLTimer : public Instrument
 {
 public:
+    /** Construct an OpenCL timer.
+     *
+     * @param[in] scale_factor Measurement scale factor.
+     */
     OpenCLTimer(ScaleFactor scale_factor);
     std::string     id() const override;
     void            start() override;
diff --git a/tests/framework/instruments/PMU.h b/tests/framework/instruments/PMU.h
index c069a63..1dc41be 100644
--- a/tests/framework/instruments/PMU.h
+++ b/tests/framework/instruments/PMU.h
@@ -64,10 +64,16 @@
     template <typename T>
     T get_value() const;
 
-    /** Open the specified counter based on the default configuration. */
+    /** Open the specified counter based on the default configuration.
+     *
+     * @param[in] config The default configuration.
+     */
     void open(uint64_t config);
 
-    /** Open the specified configuration. */
+    /** Open the specified configuration.
+     *
+     * @param[in] perf_config The specified configuration.
+     */
     void open(const perf_event_attr &perf_config);
 
     /** Close the currently open counter. */
diff --git a/tests/framework/instruments/PMUCounter.h b/tests/framework/instruments/PMUCounter.h
index e1b9433..0719b10 100644
--- a/tests/framework/instruments/PMUCounter.h
+++ b/tests/framework/instruments/PMUCounter.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2018 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -37,6 +37,10 @@
 class PMUCounter : public Instrument
 {
 public:
+    /** Construct a PMU counter.
+     *
+     * @param[in] scale_factor Measurement scale factor.
+     */
     PMUCounter(ScaleFactor scale_factor)
     {
         switch(scale_factor)
diff --git a/tests/framework/instruments/SchedulerTimer.h b/tests/framework/instruments/SchedulerTimer.h
index 446506a..ec282cc 100644
--- a/tests/framework/instruments/SchedulerTimer.h
+++ b/tests/framework/instruments/SchedulerTimer.h
@@ -38,13 +38,23 @@
 class SchedulerTimer : public Instrument
 {
 public:
-    SchedulerTimer(const SchedulerTimer &) = delete;
-    SchedulerTimer &operator=(const SchedulerTimer &) = delete;
+    /** Construct a Scheduler timer.
+     *
+     * @param[in] scale_factor Measurement scale factor.
+     */
     SchedulerTimer(ScaleFactor scale_factor);
+
+    /** Prevent instances of this class from being copy constructed */
+    SchedulerTimer(const SchedulerTimer &) = delete;
+    /** Prevent instances of this class from being copied */
+    SchedulerTimer &operator=(const SchedulerTimer &) = delete;
+
     std::string                 id() const override;
     void                        start() override;
     void                        stop() override;
     Instrument::MeasurementsMap measurements() const override;
+
+    /** Kernel information */
     struct kernel_info
     {
         Instrument::MeasurementsMap measurements{}; /**< Time it took the kernel to run */
diff --git a/tests/framework/instruments/WallClockTimer.h b/tests/framework/instruments/WallClockTimer.h
index 468f4d3..c9829ae 100644
--- a/tests/framework/instruments/WallClockTimer.h
+++ b/tests/framework/instruments/WallClockTimer.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2018 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -38,6 +38,10 @@
 class WallClockTimer : public Instrument
 {
 public:
+    /** Construct a Wall clock timer.
+     *
+     * @param[in] scale_factor Measurement scale factor.
+     */
     WallClockTimer(ScaleFactor scale_factor)
     {
         switch(scale_factor)
diff --git a/tests/framework/instruments/hwc.hpp b/tests/framework/instruments/hwc.hpp
index 3607ef5..8c48e0c 100644
--- a/tests/framework/instruments/hwc.hpp
+++ b/tests/framework/instruments/hwc.hpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2018 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -37,6 +37,8 @@
 #include <sys/mman.h>
 #include <unistd.h>
 
+#ifndef DOXYGEN_SKIP_THIS
+
 #if defined(ANDROID) || defined(__ANDROID__)
 /* We use _IOR_BAD/_IOW_BAD rather than _IOR/_IOW otherwise fails to compile with NDK-BUILD because of _IOC_TYPECHECK is defined, not because the paramter is invalid */
 #define MALI_IOR(a, b, c) _IOR_BAD(a, b, c)
@@ -387,4 +389,7 @@
     return 0;
 }
 } // namespace mali_userspace
+
+#endif /* DOXYGEN_SKIP_THIS */
+
 #endif /* ARM_COMPUTE_TEST_HWC */
diff --git a/tests/framework/instruments/hwc_names.hpp b/tests/framework/instruments/hwc_names.hpp
index ffc19b5..cbcb0e7 100644
--- a/tests/framework/instruments/hwc_names.hpp
+++ b/tests/framework/instruments/hwc_names.hpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2018 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -24,6 +24,8 @@
 #ifndef ARM_COMPUTE_TEST_HWC_NAMES
 #define ARM_COMPUTE_TEST_HWC_NAMES
 
+#ifndef DOXYGEN_SKIP_THIS
+
 namespace mali_userspace
 {
 enum MaliCounterBlockName
@@ -3056,4 +3058,7 @@
     NUM_PRODUCTS = sizeof(products) / sizeof(products[0])
 };
 } // namespace mali_userspace
+
+#endif /* DOXYGEN_SKIP_THIS */
+
 #endif /* ARM_COMPUTE_TEST_HWC_NAMES */
diff --git a/tests/framework/printers/Printer.h b/tests/framework/printers/Printer.h
index cb0aa1e..cbe22fb 100644
--- a/tests/framework/printers/Printer.h
+++ b/tests/framework/printers/Printer.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2018 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -55,11 +55,16 @@
      */
     Printer(std::ostream &stream);
 
+    /** Prevent instances of this class from being copy constructed */
     Printer(const Printer &) = delete;
+    /** Prevent instances of this class from being copied */
     Printer &operator=(const Printer &) = delete;
-    Printer(Printer &&)                 = default;
+    /** Allow instances of this class to be move constructed */
+    Printer(Printer &&) = default;
+    /** Allow instances of this class to be moved */
     Printer &operator=(Printer &&) = default;
 
+    /** Default destructor. */
     virtual ~Printer() = default;
 
     /** Print given string.