diff options
Diffstat (limited to 'boost/align/alignment_of.hpp')
-rw-r--r-- | boost/align/alignment_of.hpp | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/boost/align/alignment_of.hpp b/boost/align/alignment_of.hpp new file mode 100644 index 0000000000..1862f0f892 --- /dev/null +++ b/boost/align/alignment_of.hpp @@ -0,0 +1,49 @@ +/* + (c) 2014 Glen Joseph Fernandes + glenjofe at gmail dot com + + Distributed under the Boost Software + License, Version 1.0. + http://boost.org/LICENSE_1_0.txt +*/ +#ifndef BOOST_ALIGN_ALIGNMENT_OF_HPP +#define BOOST_ALIGN_ALIGNMENT_OF_HPP + +#include <boost/config.hpp> +#include <boost/align/alignment_of_forward.hpp> +#include <boost/align/detail/remove_traits.hpp> + +#if !defined(BOOST_NO_CXX11_HDR_TYPE_TRAITS) +#include <boost/align/detail/alignment_of_cxx11.hpp> +#elif defined(BOOST_MSVC) +#include <boost/align/detail/alignment_of_msvc.hpp> +#elif defined(BOOST_CLANG) +#include <boost/align/detail/alignment_of_clang.hpp> +#elif defined(__ghs__) && (__GHS_VERSION_NUMBER >= 600) +#include <boost/align/detail/alignment_of_gcc.hpp> +#elif defined(__CODEGEARC__) +#include <boost/align/detail/alignment_of_codegear.hpp> +#elif defined(__GNUC__) && defined(__unix__) && !defined(__LP64__) +#include <boost/align/detail/alignment_of.hpp> +#elif __GNUC__ > 4 +#include <boost/align/detail/alignment_of_gcc.hpp> +#elif (__GNUC__ == 4) && (__GNUC_MINOR__ >= 3) +#include <boost/align/detail/alignment_of_gcc.hpp> +#else +#include <boost/align/detail/alignment_of.hpp> +#endif + +namespace boost { + namespace alignment { + template<class T> + struct alignment_of + : detail::alignment_of<typename + detail::remove_cv<typename + detail::remove_all_extents<typename + detail::remove_reference<T>:: + type>::type>::type>::type { + }; + } +} + +#endif |