diff options
author | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2017-05-23 18:17:25 -0400 |
---|---|---|
committer | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2017-06-19 16:25:59 -0400 |
commit | 893b348890781dba2603ead61cf6f724350d0b47 (patch) | |
tree | 9b5f6d6c4a7a57afd7065ef8ec474a6593e93c5d /src/data_types.hpp | |
parent | 13fd8722e616dd424cd585187fb0ef65f6316023 (diff) | |
download | phosphor-dbus-monitor-893b348890781dba2603ead61cf6f724350d0b47.tar.gz phosphor-dbus-monitor-893b348890781dba2603ead61cf6f724350d0b47.zip |
Add printf format utility
Add a template for obtaining a format string at build for a
built-in C++ type.
Change-Id: I8e5d26d4481b3ddafb5ffddbb058a1c75b3a2257
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
Diffstat (limited to 'src/data_types.hpp')
-rw-r--r-- | src/data_types.hpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/data_types.hpp b/src/data_types.hpp index af0ef68..439045e 100644 --- a/src/data_types.hpp +++ b/src/data_types.hpp @@ -80,6 +80,21 @@ using PropertyIndex = TupleRefMap < const std::string, const std::string >; // *INDENT-ON* + +/** @brief Convert some C++ types to others. + * + * Remove type decorators to reduce template specializations. + * + * 1. Remove references. + * 2. Remove 'const' and 'volatile'. + */ +template <typename T> struct Downcast +{ + using Type = std::remove_cv_t<std::remove_reference_t<T>>; +}; +template <typename T> using DowncastType = + typename Downcast<T>::Type; + } // namespace monitoring } // namespace dbus } // namespace phosphor |