Add doxygen docs

This commit is contained in:
Henrik Stickann
2022-05-10 15:36:48 +02:00
parent 8efed8802d
commit f4e3a0ae1c
8 changed files with 339 additions and 160 deletions

View File

@@ -1,4 +1,5 @@
/**
* @file
* @brief Helper for using enum values as flags.
*/
#ifndef STA_ENUM_FLAGS_HPP
@@ -13,6 +14,8 @@ namespace sta
* @brief 32-bit flag register with enum type representing single flag bits.
*
* @tparam F Enum type used for flag bits
*
* @ingroup staCore
*/
template <typename F>
class EnumFlags
@@ -151,6 +154,8 @@ namespace sta
* @brief Provide overload for operator | to combine enum values.
*
* @param enumType Enum type to overload
*
* @ingroup staCore
*/
#define STA_ENUM_FLAGS_OVERLOAD(enumType) \
sta::EnumFlags<enumType> operator |(enumType lhs, enumType rhs) \
@@ -162,6 +167,8 @@ namespace sta
* @brief Declare alias for sta::EnumFlags specialization.
*
* @param enumType Enum type for specialization
*
* @ingroup staCore
*/
#define STA_ENUM_FLAGS_ALIAS(enumType) \
using enumType ## Flags = sta::EnumFlags<enumType>
@@ -172,6 +179,8 @@ namespace sta
* @param enumType Name of new enum class
* @param value1 First enum value
* @param ... Enum values 2 - 32
*
* @ingroup staCore
*/
#define STA_ENUM_FLAGS_DECL(enumType, value1, ...) \
enum class enumType \