From 070f1812cda0a8a4adb920f1b3ce04de6020f4e0 Mon Sep 17 00:00:00 2001
From: Brett <brettmaster1@gmail.com>
Date: Fri, 9 Feb 2024 00:13:59 -0500
Subject: [PATCH] span

---
 include/blt/std/ranges.h | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/include/blt/std/ranges.h b/include/blt/std/ranges.h
index bb29df4..9f9ba7e 100644
--- a/include/blt/std/ranges.h
+++ b/include/blt/std/ranges.h
@@ -9,8 +9,10 @@
 #define BLT_RANGES_H
 
 #include <blt/std/types.h>
+#include <type_traits>
 #include <iterator>
 #include <utility>
+#include <limits>
 
 namespace blt
 {
@@ -165,6 +167,26 @@ namespace blt
                 return range_itr(_end - offset, offset == 0);
             }
     };
+    
+    inline constexpr std::size_t dynamic_extent = std::numeric_limits<std::size_t>::max();
+    
+    template<typename T, std::size_t extend = dynamic_extent>
+    class span
+    {
+        public:
+            using element_type = T;
+            using value_type = std::remove_cv_t<T>;
+            using size_type = blt::size_t;
+            using difference_type = std::ptrdiff_t;
+            using pointer = T*;
+            using const_pointer = const T*;
+            using reference = T&;
+            using const_reference = const T&;
+            
+        private:
+        
+        public:
+    };
 }
 
 #endif //BLT_RANGES_H