/* Copyright (c) 2014 Glen Joseph Fernandes glenfe at live dot com Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://boost.org/LICENSE_1_0.txt) */ #ifndef BOOST_ALIGN_ALIGNMENT_OF_HPP #define BOOST_ALIGN_ALIGNMENT_OF_HPP /** Class template alignment_of. @file @author Glen Fernandes */ #include #include #include #if !defined(BOOST_NO_CXX11_HDR_TYPE_TRAITS) #include #elif defined(BOOST_MSVC) #include #elif defined(BOOST_CLANG) #include #elif defined(__ghs__) && (__GHS_VERSION_NUMBER >= 600) #include #elif defined(__CODEGEARC__) #include #elif defined(__GNUC__) && defined(__unix__) && !defined(__LP64__) #include #elif __GNUC__ > 4 #include #elif (__GNUC__ == 4) && (__GNUC_MINOR__ >= 3) #include #else #include #endif /** Boost namespace. */ namespace boost { /** Alignment namespace. */ namespace alignment { /** Class template alignment_of. @remark **Value:** `alignof(T)`. */ template struct alignment_of { /** @enum */ enum { /** @cond */ value = detail::alignment_of:: type>::type>::type>::value /** @endcond */ }; }; } } #endif