37 #ifndef NEKTAR_LIB_UTILITIES_BASICUTILS_RAW_TYPE_HPP
38 #define NEKTAR_LIB_UTILITIES_BASICUTILS_RAW_TYPE_HPP
40 #include <boost/shared_ptr.hpp>
90 struct RawType<const volatile T*
volatile> {
typedef T
type; };
99 struct RawType<volatile T*
const volatile> {
typedef T
type; };
102 struct RawType<const volatile T*
const volatile> {
typedef T
type; };
111 struct RawType<volatile boost::shared_ptr<T> > {
typedef T
type; };
114 struct RawType<const volatile boost::shared_ptr<T> > {
typedef T
type; };
121 struct RawType<const boost::shared_ptr<const T> > {
typedef T
type; };
124 struct RawType<volatile boost::shared_ptr<const T> > {
typedef T
type; };
127 struct RawType<const volatile boost::shared_ptr<const T> > {
typedef T
type; };
132 struct RawType<boost::shared_ptr<volatile T> > {
typedef T
type; };
135 struct RawType<const boost::shared_ptr<volatile T> > {
typedef T
type; };
138 struct RawType<volatile boost::shared_ptr<volatile T> > {
typedef T
type; };
141 struct RawType<const volatile boost::shared_ptr<volatile T> > {
typedef T
type; };
145 struct RawType<boost::shared_ptr<const volatile T> > {
typedef T
type; };
148 struct RawType<const boost::shared_ptr<const volatile T> > {
typedef T
type; };
151 struct RawType<volatile boost::shared_ptr<const volatile T> > {
typedef T
type; };
154 struct RawType<const volatile boost::shared_ptr<const volatile T> > {
typedef T
type; };
158 #endif //NEKTAR_LIB_UTILITIES_BASICUTILS_RAW_TYPE_HPP