diff options
author | Claudius 'keldu' Holeksa <mail@keldu.de> | 2024-07-29 14:18:30 +0200 |
---|---|---|
committer | Claudius 'keldu' Holeksa <mail@keldu.de> | 2024-07-29 14:18:30 +0200 |
commit | 700cde2d499742160deb361f42b7e861ae1db8ed (patch) | |
tree | ba796243a94578f9c2105080fa19040a341c4482 /c++/unit_print.h | |
parent | fb7dd1c9185da30aed8645c084be0722e061a867 (diff) |
Renaming to new standard
Diffstat (limited to 'c++/unit_print.h')
-rw-r--r-- | c++/unit_print.h | 55 |
1 files changed, 0 insertions, 55 deletions
diff --git a/c++/unit_print.h b/c++/unit_print.h deleted file mode 100644 index 4d9187b..0000000 --- a/c++/unit_print.h +++ /dev/null @@ -1,55 +0,0 @@ -#include "./unit.h" - -#include <iostream> - - -namespace std { -template<typename UnitT, int64_t UnitE> -inline ostream& operator<<(ostream& o, const kel::unit_base<UnitT,UnitE>& ele){ - o<<UnitT::short_name; - if constexpr ( UnitE != 1 ){ - o<<'^'<<'('<<UnitE<<')'; - } - return o; -} -} - -namespace kel { -template<typename... T> -struct unit_print_impl { - static_assert(is_always_false<T...>, "Template type not supported"); -}; - -template<typename UnitT, int64_t UnitE, typename... UnitTL, int64_t... UnitEL> -struct unit_print_impl<unit_base<UnitT,UnitE>,unit_base<UnitTL,UnitEL>...> { - static std::ostream& print(std::ostream& o){ - - unit_base<UnitT,UnitE> element; - - std::ostream& o_ret = o << element; - - if constexpr (sizeof...(UnitTL) > 0){ - std::ostream& o_ret_next = o_ret << ' ' << '*' << ' '; - return unit_print_impl<unit_base<UnitTL,UnitEL>...>::print(o_ret_next); - } - - return o_ret<<']'; - } -}; -} - -namespace std { - -template<typename StorageT, typename... T> -inline ostream& operator<<(ostream& o, const kel::unit<StorageT,T...>& unit); - -template<typename StorageT, typename... UnitT, int64_t... UnitE> -inline ostream& operator<<(ostream& o, const kel::unit<StorageT,kel::unit_base<UnitT,UnitE>...>& unit){ - o << unit.data(); - if constexpr (sizeof...(UnitT) > 0) { - auto& o_ret = o << ' '<<'['; - return kel::unit_print_impl<kel::unit_base<UnitT,UnitE>...>::print(o_ret); - } - return o; -} -} |