diff options
Diffstat (limited to 'Gem/develop/include/Gem/Utils/is_pointer.h')
-rw-r--r-- | Gem/develop/include/Gem/Utils/is_pointer.h | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/Gem/develop/include/Gem/Utils/is_pointer.h b/Gem/develop/include/Gem/Utils/is_pointer.h new file mode 100644 index 0000000..6c5cb16 --- /dev/null +++ b/Gem/develop/include/Gem/Utils/is_pointer.h @@ -0,0 +1,34 @@ +/* + * Copyright © 2010 fredoverflow https://stackoverflow.com/a/3177723/1169096 + * Copyright © 2019 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at + */ + +#ifndef GEM_IS_POINTER_H_ +#define GEM_IS_POINTER_H_ + +namespace gem +{ + template <typename T> + struct is_pointer_type + { + enum { value = false }; + }; + + template <typename T> + struct is_pointer_type<T*> + { + enum { value = true }; + }; + + template <typename T> + bool is_pointer(void) + { + return is_pointer_type<T>::value; + } + template <typename T> + bool is_pointer(const T&) + { + return is_pointer_type<T>::value; + } +}; +#endif // GEM_IS_POITNER_H_ |