/****************************************************************************** * * AMDiS - Adaptive multidimensional simulations * * Copyright (C) 2013 Dresden University of Technology. All Rights Reserved. * Web: https://fusionforge.zih.tu-dresden.de/projects/amdis * * Authors: * Simon Vey, Thomas Witkowski, Andreas Naumann, Simon Praetorius, et al. * * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. * * * This file is part of AMDiS * * See also license.opensource.txt in the distribution. * ******************************************************************************/ /** \file basic.hpp */ #ifndef AMDIS_BASIC_TRAITS_HPP #define AMDIS_BASIC_TRAITS_HPP #include #include #include "boost/numeric/ublas/detail/returntype_deduction.hpp" #if BOOST_VERSION >= 105600 #include #else #include #endif #ifdef HAS_CPP11 #include #endif namespace AMDiS { // introduce some shortcuts for boost::mpl // --------------------------------------- using boost::mpl::true_; using boost::mpl::false_; using boost::mpl::and_; using boost::mpl::or_; using boost::enable_if; using boost::disable_if; namespace traits { // dummy type typedef boost::numeric::ublas::error_cant_deduce_type no_valid_type; #ifdef HAS_CPP11 template struct is_trivially_copyable : std::is_trivially_copyable {}; #else template struct is_trivially_copyable : boost::is_pod {}; #endif } } #endif // AMDIS_BASIC_TRAITS_HPP