diff --git a/include/var_future/config.h b/include/var_future/config.h index 3e36439..7b4ccc1 100644 --- a/include/var_future/config.h +++ b/include/var_future/config.h @@ -18,7 +18,10 @@ #ifndef AOM_VARIADIC_FUTURE_CONFIG_INCLUDED_H #define AOM_VARIADIC_FUTURE_CONFIG_INCLUDED_H -#include +#define AOM_VARFUT_VERSION_MAJOR 0 +#define AOM_VARFUT_VERSION_MINOR 3 +#define AOM_VARFUT_VERSION_PATCH 1 + // **************************** std::expected ***************************// // Change this if you want to use some other expected type. diff --git a/include/var_future/future.h b/include/var_future/future.h index e58fce4..2d606b6 100644 --- a/include/var_future/future.h +++ b/include/var_future/future.h @@ -331,6 +331,7 @@ Basic_future flatten(Basic_future>& rhs); template auto segmented(Ts&&... args); +inline std::string varfut_lib_version_string(); } // namespace aom #include "var_future/impl/async.h" diff --git a/include/var_future/impl/future.h b/include/var_future/impl/future.h index 8fe0215..aac5e98 100644 --- a/include/var_future/impl/future.h +++ b/include/var_future/impl/future.h @@ -217,5 +217,16 @@ auto segmented(Ts&&... args) { std::make_tuple(std::forward(args)...)}; } +/** + * @brief Get the version of the library. + * + * @return std::string + */ +inline std::string varfut_lib_version_string() { + return std::to_string(AOM_VARFUT_VERSION_MAJOR) + "." + + std::to_string(AOM_VARFUT_VERSION_MINOR) + "." + + std::to_string(AOM_VARFUT_VERSION_PATCH); +} + } // namespace aom #endif \ No newline at end of file