static constexpr size_t IP_PACK_HEAD = 4; static constexpr size_t MAX_CONNECTION_NUM = 128; class rw_handler { public: rw_handler(boost::asio::io_service &service) : sock_(service) { } rw_handler(const rw_handler &) = delete; rw_handler & operator = (const rw_handler &) = d...
#include <boost/sml/utility/dispatch_table.hpp> #include <boost/sml.hpp> #include <cassert> namespace sml = boost::sml; namespace { struct runtime_event { int id = 0; }; struct event1 { static constexpr auto id = 1; event1(const runtime_event &) {} }; struct event2: sml:...
constexpr static int src_val = int_type_num::value; // 通过成员value来萃取出原始的数据 这样就将常量数据和类型数据都统一起来了,只需要写一套代码即可。 另外在mp11中还使用了另外一种统一类型和非类型写法的方法,那就是用auto来声明模板参数,在detail/mp_list.hpp中: #if define(BOOST_MP11_HAS_TEM...
void wait_for_signal() { signal_.async_wait([this] (boost::system::error_code, int) { // 当lamba函数返回true 则调用 后面在需要调用wait_for_signal()继续执行 if (true == acceptor_.is_open()) { // parent process std::cout << "start to wait child process." << std::endl; int ...
constexpr auto SESSION_TIMEOUT = std::chrono::minutes(2); //! Protocol delimiter to software client;分隔符:接收来自client的string数据必须以"}\n"结尾 static constexpr char const* delimiter = "}"; namespace asio = boost::asio; using tcp = asio::ip::tcp; ...
template<int x> struct static_assert_test{}; 我们使用的是BOOST_STATIC_ASSERT(expr);这个宏看上去挺长挺吓人的,下面一层层的剥开它。 首先对表达式求值,并将结果转换为bool类型,这是由BOOST_STATIC_ASSERT_BOOL_CAST ( B )完成的。 然后,用求出的结果作为模板参数传给STATIC_ASSERTION_FAILURE类模板,使用si...
{ \ + static constexpr auto loc((BOOST_CURRENT_LOCATION)); \ + return &loc; }())) +# define BOOST_WS_PROTO_RETURN_EC(ev) \ + static constexpr auto loc ## __LINE__((BOOST_CURRENT_LOCATION)); \ + return ::boost::system::error_code((ev), &loc ## __LINE__) +#endif +...
#include<boost/static_assert.hpp> #include<cassert> usingnamespacestd; namespaceboost { voidassertion_failed(charconst* expr,charconst* function,charconst* file,longline) { boost::format fmt("Assertion Failed!\nExpression: %s\nFunction: %s\nFile: %s\nLine: %ld\n\n"); ...
678 static constexpr size_t depth(); // = sizeof...(Orders) 679 static constexpr size_t order_sum(); 680 681 explicit operator root_type() const; 682 dimension<RealType,Order>& set_root(const root_type&); 683 684 // Use when function returns derivatives....
typename Predicate> BOOST_CXX14_CONSTEXPR std::pair< typename boost::range_iterator< const Range >::type, OutputIterator > copy_while(const Range &, OutputIterator, Predicate); template<typename InputIterator, typename OutputIterator, typename Predicate> BOOST_CXX14_CONSTEXPR std::pair< InputItera...