diff options
| author | Tobias Markmann <tm@ayena.de> | 2014-10-19 20:22:58 (GMT) | 
|---|---|---|
| committer | Tobias Markmann <tm@ayena.de> | 2014-10-20 13:49:33 (GMT) | 
| commit | 6b22dfcf59474dd016a0355a3102a1dd3692d92c (patch) | |
| tree | 2b1fd33be433a91e81fee84fdc2bf1b52575d934 /3rdParty/Boost/src/boost/tti/has_data.hpp | |
| parent | 38b0cb785fea8eae5e48fae56440695fdfd10ee1 (diff) | |
| download | swift-contrib-6b22dfcf59474dd016a0355a3102a1dd3692d92c.zip swift-contrib-6b22dfcf59474dd016a0355a3102a1dd3692d92c.tar.bz2 | |
Update Boost in 3rdParty to version 1.56.0.
This updates Boost in our 3rdParty directory to version 1.56.0.
Updated our update.sh script to stop on error.
Changed error reporting in SwiftTools/CrashReporter.cpp to SWIFT_LOG due to
missing include of <iostream> with newer Boost.
Change-Id: I4b35c77de951333979a524097f35f5f83d325edc
Diffstat (limited to '3rdParty/Boost/src/boost/tti/has_data.hpp')
| -rw-r--r-- | 3rdParty/Boost/src/boost/tti/has_data.hpp | 98 | 
1 files changed, 98 insertions, 0 deletions
| diff --git a/3rdParty/Boost/src/boost/tti/has_data.hpp b/3rdParty/Boost/src/boost/tti/has_data.hpp new file mode 100644 index 0000000..b967891 --- /dev/null +++ b/3rdParty/Boost/src/boost/tti/has_data.hpp @@ -0,0 +1,98 @@ + +//  (C) Copyright Edward Diener 2012,2013 +//  Use, modification and distribution are subject to the Boost Software License, +//  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at +//  http://www.boost.org/LICENSE_1_0.txt). + +#if !defined(BOOST_TTI_HAS_DATA_HPP) +#define BOOST_TTI_HAS_DATA_HPP + +#include <boost/config.hpp> +#include <boost/preprocessor/cat.hpp> +#include <boost/type_traits/remove_const.hpp> +#include <boost/tti/gen/has_data_gen.hpp> +#include <boost/tti/detail/ddata.hpp> + +/* + +  The succeeding comments in this file are in doxygen format. + +*/ + +/** \file +*/ + +/// Expands to a metafunction which tests whether member data or static member with a particular name and type exists. +/** + +    trait = the name of the metafunction. +     +    name  = the name of the inner member to introspect. + +    generates a metafunction called "trait" where 'trait' is the macro parameter. +     +              template<class BOOST_TTI_TP_T,class BOOST_TTI_TP_TYPE> +              struct trait +                { +                static const value = unspecified; +                typedef mpl::bool_<true-or-false> type; +                }; + +              The metafunction types and return: +     +                BOOST_TTI_TP_T    = the enclosing type in which to look for our 'name' +                 +                BOOST_TTI_TP_TYPE = The type of the member data or static member. +                 +                returns  = 'value' is true if the 'name' exists, with the correct data type, +                           otherwise 'value' is false. +                           +*/ +#define BOOST_TTI_TRAIT_HAS_DATA(trait,name) \ +  BOOST_TTI_DETAIL_TRAIT_HAS_DATA(trait,name) \ +  template<class BOOST_TTI_TP_T,class BOOST_TTI_TP_TYPE> \ +  struct trait \ +    { \ +    typedef typename \ +    BOOST_PP_CAT(trait,_detail_hd) \ +      < \ +      typename boost::remove_const<BOOST_TTI_TP_T>::type, \ +      BOOST_TTI_TP_TYPE \ +      >::type type; \ +    BOOST_STATIC_CONSTANT(bool,value=type::value); \ +    }; \ +/**/ + +/// Expands to a metafunction which tests whether member data or static member data with a particular name and type exists. +/** + +    name  = the name of the inner member. + +    generates a metafunction called "has_data_name" where 'name' is the macro parameter. +     +              template<class BOOST_TTI_TP_T,class BOOST_TTI_TP_TYPE> +              struct has_data_name +                { +                static const value = unspecified; +                typedef mpl::bool_<true-or-false> type; +                }; + +              The metafunction types and return: +     +                BOOST_TTI_TP_T    = the enclosing type in which to look for our 'name' +                 +                BOOST_TTI_TP_TYPE = The type of the member data or static member. +                 +                returns  = 'value' is true if the 'name' exists, with the correct data type, +                           otherwise 'value' is false. +                           +*/ +#define BOOST_TTI_HAS_DATA(name) \ +  BOOST_TTI_TRAIT_HAS_DATA \ +  ( \ +  BOOST_TTI_HAS_DATA_GEN(name), \ +  name \ +  ) \ +/**/ + +#endif // BOOST_TTI_HAS_DATA_HPP | 
 Swift
 Swift