25 lines
680 B
C++
25 lines
680 B
C++
/*=============================================================================
|
|
Copyright (c) 2017 Paul Fultz II
|
|
unpack_uncallable.cpp
|
|
Distributed under 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)
|
|
==============================================================================*/
|
|
#include <boost/hof/unpack.hpp>
|
|
|
|
struct foo
|
|
{};
|
|
|
|
namespace boost { namespace hof {
|
|
|
|
template<>
|
|
struct unpack_sequence<foo>
|
|
{
|
|
template<class F, class S>
|
|
constexpr static auto apply(F&&, S&& s) BOOST_HOF_RETURNS(s.bar);
|
|
};
|
|
}
|
|
|
|
int main() {
|
|
boost::hof::unpack(boost::hof::always(1))(foo{});
|
|
}
|