You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
23 lines
428 B
23 lines
428 B
2 years ago
|
#pragma once
|
||
|
|
||
|
#include "constraints.hh"
|
||
|
|
||
|
namespace borrow {
|
||
|
#if 0
|
||
|
//TODO: Eh, rethink this when brain not fogged...
|
||
|
template<typename T, where::deref_to<T> P = T*>
|
||
|
struct Borrow {
|
||
|
using traits = std::pointer_traits<P>;
|
||
|
|
||
|
using type = T;
|
||
|
using pointer_type = P;
|
||
|
using pointer = traits::pointer;
|
||
|
|
||
|
|
||
|
static_assert(std::is_same_v<T, traits::element_type>, "Invalid `deref_to<T> P` (element_type != T)");
|
||
|
|
||
|
|
||
|
};
|
||
|
#endif
|
||
|
}
|