1//////////////////////////////////////////////////////////////////////////////
2//
3// (C) Copyright Ion Gaztanaga 2005-2013.
4//
5// Distributed under the Boost Software License, Version 1.0.
6// (See accompanying file LICENSE_1_0.txt or copy at
7// http://www.boost.org/LICENSE_1_0.txt)
8//
9// See http://www.boost.org/libs/container for documentation.
10//
11//////////////////////////////////////////////////////////////////////////////
12
13#ifndef BOOST_CONTAINER_DETAIL_VALUE_INIT_HPP
14#define BOOST_CONTAINER_DETAIL_VALUE_INIT_HPP
15
16#ifndef BOOST_CONFIG_HPP
17# include <boost/config.hpp>
18#endif
19
20#if defined(BOOST_HAS_PRAGMA_ONCE)
21# pragma once
22#endif
23
24#include <boost/container/detail/config_begin.hpp>
25#include <boost/container/detail/workaround.hpp>
26
27namespace boost {
28namespace container {
29namespace container_detail {
30
31template<class T>
32struct value_init
33{
34 value_init()
35 : m_t()
36 {}
37
38 operator T &() { return m_t; }
39
40 T &get() { return m_t; }
41
42 T m_t;
43};
44
45} //namespace container_detail {
46} //namespace container {
47} //namespace boost {
48
49#include <boost/container/detail/config_end.hpp>
50
51#endif //#ifndef BOOST_CONTAINER_DETAIL_VALUE_INIT_HPP
52