Advertisement
Radfler

::as_array

Feb 26th, 2018
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.44 KB | None | 0 0
  1. #include <cstddef>
  2. #include <type_traits>
  3.  
  4. namespace details {
  5.  
  6.     template<typename T>
  7.     struct as_array_t {
  8.  
  9.         using ptr_t = T*;
  10.  
  11.         ptr_t array;
  12.         std::size_t size;
  13.  
  14.         constexpr ptr_t begin() noexcept {
  15.             return array;
  16.         }
  17.  
  18.         constexpr ptr_t end() noexcept {
  19.             return array + size;
  20.         }
  21.  
  22.     };
  23.  
  24. }
  25.  
  26. template<typename T>
  27. constexpr details::as_array_t<T> as_array(T* array, std::size_t size) noexcept {
  28.     return {array, size};
  29. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement