blob: dbfdb06f69c436e1aa47f4994c6fd02084ec6f0a [file] [log] [blame]
//////////////////////////////////////////////////////////////////////////////
//
// (C) Copyright Ion Gaztanaga 2011-2013. 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)
//
// See http://www.boost.org/libs/container for documentation.
//
//////////////////////////////////////////////////////////////////////////////
#include <boost/container/detail/config_begin.hpp>
#include <boost/container/detail/pair.hpp>
#include "movable_int.hpp"
#include "emplace_test.hpp"
#include<boost/move/utility_core.hpp>
//non_copymovable_int
//copyable_int
//movable_int
//movable_and_copyable_int
using namespace ::boost::container;
int main ()
{
{
container_detail::pair<test::non_copymovable_int, test::non_copymovable_int> p1;
container_detail::pair<test::copyable_int, test::copyable_int> p2;
container_detail::pair<test::movable_int, test::movable_int> p3;
container_detail::pair<test::movable_and_copyable_int, test::movable_and_copyable_int> p4;
}
{ //Constructible from two values
container_detail::pair<test::non_copymovable_int, test::non_copymovable_int> p1(1, 2);
container_detail::pair<test::copyable_int, test::copyable_int> p2(1, 2);
container_detail::pair<test::movable_int, test::movable_int> p3(1, 2);
container_detail::pair<test::movable_and_copyable_int, test::movable_and_copyable_int> p4(1, 2);
}
{ //Constructible from internal types
container_detail::pair<test::copyable_int, test::copyable_int> p2(test::copyable_int(1), test::copyable_int(2));
{
test::movable_int a(1), b(2);
container_detail::pair<test::movable_int, test::movable_int> p3(::boost::move(a), ::boost::move(b));
}
{
test::movable_and_copyable_int a(1), b(2);
container_detail::pair<test::movable_and_copyable_int, test::movable_and_copyable_int> p4(::boost::move(a), ::boost::move(b));
}
}
//piecewise_construct missing...
return 0;
}
#include <boost/container/detail/config_end.hpp>