2012-03-22 20:54:20 +00:00
|
|
|
|
|
|
|
|
// Copyright (C) 2009-2012 Lorenzo Caminiti
|
|
|
|
|
// Distributed under the Boost Software License, Version 1.0
|
|
|
|
|
// (see accompanying file LICENSE_1_0.txt or a copy at
|
|
|
|
|
// http://www.boost.org/LICENSE_1_0.txt)
|
|
|
|
|
// Home at http://www.boost.org/libs/functional/overloaded_function
|
|
|
|
|
|
|
|
|
|
#include "identity.hpp"
|
|
|
|
|
#include <boost/functional/overloaded_function.hpp>
|
2012-04-10 19:17:41 +00:00
|
|
|
#include <boost/typeof/typeof.hpp> // For `BOOST_AUTO`.
|
|
|
|
|
#include <boost/typeof/std/string.hpp> // No need to register `boost::function`.
|
2012-04-02 01:08:20 +00:00
|
|
|
#include <boost/detail/lightweight_test.hpp>
|
2012-03-22 20:54:20 +00:00
|
|
|
|
2012-04-02 01:08:20 +00:00
|
|
|
int main() {
|
2012-03-22 20:54:20 +00:00
|
|
|
//[identity_make
|
|
|
|
|
BOOST_AUTO(identity, boost::make_overloaded_function(
|
|
|
|
|
identity_s, identity_i, identity_d));
|
|
|
|
|
|
2012-04-02 01:08:20 +00:00
|
|
|
BOOST_TEST(identity("abc") == "abc");
|
|
|
|
|
BOOST_TEST(identity(123) == 123);
|
|
|
|
|
BOOST_TEST(identity(1.23) == 1.23);
|
2012-03-22 20:54:20 +00:00
|
|
|
//]
|
2012-04-02 01:08:20 +00:00
|
|
|
return boost::report_errors();
|
2012-03-22 20:54:20 +00:00
|
|
|
}
|
|
|
|
|
|