AuROXTL/Include/auROXTL/Utility/auRemoveConst.hpp

35 lines
638 B
C++

/***
Copyright (C) 2022-2024 Jamie Reece Wilson (a/k/a "Reece"). All rights reserved.
File: auRemoveConst.hpp
File: auTemplateMeta.hpp
Date: 2024-11-30
Date: 2022-04-01
Author: Reece
***/
#pragma once
template <class T>
struct AuRemoveConst
{
typedef T type;
typedef T Type;
typedef T Type_t;
};
template <class T>
struct AuRemoveConst<const T>
{
typedef T type;
typedef T Type;
typedef T Type_t;
};
#if defined(AU_LANG_CPP_14_)
template <class T>
using AuRemoveConst_t = typename AuRemoveConst<T>::Type_t;
#endif
#define AuRemoveConst_mt(T) typename AuRemoveConst<T>::Type_t