[libc-commits] [libc] f1d274b - [libc][NFC] Make the buffer size of the integer to string converter public.
    Siva Chandra Reddy via libc-commits 
    libc-commits at lists.llvm.org
       
    Sun Jul 31 23:55:06 PDT 2022
    
    
  
Author: Siva Chandra Reddy
Date: 2022-08-01T06:54:17Z
New Revision: f1d274b5c6811f3855cee4b44ba18de8818774cf
URL: https://github.com/llvm/llvm-project/commit/f1d274b5c6811f3855cee4b44ba18de8818774cf
DIFF: https://github.com/llvm/llvm-project/commit/f1d274b5c6811f3855cee4b44ba18de8818774cf.diff
LOG: [libc][NFC] Make the buffer size of the integer to string converter public.
This allows users of the IntegerToString class to size their buffers
appropriately at compile time.
Added: 
    
Modified: 
    libc/src/__support/integer_to_string.h
Removed: 
    
################################################################################
diff  --git a/libc/src/__support/integer_to_string.h b/libc/src/__support/integer_to_string.h
index b90e36b1c44b..bd50c5830ad8 100644
--- a/libc/src/__support/integer_to_string.h
+++ b/libc/src/__support/integer_to_string.h
@@ -15,11 +15,7 @@
 namespace __llvm_libc {
 
 template <typename T> class IntegerToString {
-  static_assert(cpp::is_integral_v<T>,
-                "IntegerToString can only be used with integral types.");
-
-  using UnsignedType = cpp::make_unsigned_t<T>;
-
+public:
   // We size the string buffer using an approximation algorithm:
   //
   //   size = ceil(sizeof(T) * 5 / 2)
@@ -40,6 +36,13 @@ template <typename T> class IntegerToString {
   // integers.
   static constexpr size_t BUFSIZE =
       (sizeof(T) * 5 + 1) / 2 + (cpp::is_signed<T>() ? 1 : 0);
+
+private:
+  static_assert(cpp::is_integral_v<T>,
+                "IntegerToString can only be used with integral types.");
+
+  using UnsignedType = cpp::make_unsigned_t<T>;
+
   char strbuf[BUFSIZE] = {'\0'};
   size_t len = 0;
 
        
    
    
More information about the libc-commits
mailing list