]> code.bitgloo.com Git - clyne/consteval-huffman.git/commitdiff
add huffman_compress_array helper master
authorclyne <clyne@bitgloo.com>
Tue, 12 Oct 2021 18:31:51 +0000 (14:31 -0400)
committerGitHub <noreply@github.com>
Tue, 12 Oct 2021 18:31:51 +0000 (14:31 -0400)
include/consteval_huffman/consteval_huffman.hpp

index 0c41913f895a3f34f164413a13fd401f0f4c5156..e3d92d5b041c3bdc655018fb99a7f2010fed9d43 100644 (file)
@@ -390,4 +390,17 @@ constexpr auto operator ""_huffman()
 template <detail::huffman_string_container hsc>
 constexpr auto huffman_compress = huffman_compressor<hsc>();
 
 template <detail::huffman_string_container hsc>
 constexpr auto huffman_compress = huffman_compressor<hsc>();
 
+namespace detail
+{
+    template <typename T, T... list>
+    class huffman_compress_array_container {
+    private:
+        constexpr static T uncompressed[] = {list...};
+    public:
+        constexpr static auto data = huffman_compress<uncompressed>;
+    };
+}
+template <typename T, T... list>
+constexpr auto huffman_compress_array = detail::huffman_compress_array_container<T, list...>::data;
+
 #endif // TCSULLIVAN_CONSTEVAL_HUFFMAN_HPP_
 #endif // TCSULLIVAN_CONSTEVAL_HUFFMAN_HPP_