metaSMT git

metaSMT/support/protofy.hpp

Go to the documentation of this file.
00001 #pragma once
00002 #include <boost/proto/core.hpp>
00003 
00004 namespace metaSMT {
00005   namespace detail {
00006 
00007     template<typename T>
00008     typename boost::disable_if<proto::is_expr<T>, proto::literal<T> >::type 
00009     protofy ( T e) {
00010       return proto::lit(e);
00011     }
00012 
00013     template<typename T>
00014     typename boost::enable_if<proto::is_expr<T>, T>::type 
00015     protofy ( T e) {
00016       return e;
00017     }
00018   
00019   }
00020 } /* metaSMT */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines