2014-01-10 16:50:34 +00:00
|
|
|
/*
|
|
|
|
* \brief Utility for manual in-place construction of objects
|
|
|
|
* \author Norman Feske
|
|
|
|
* \date 2014-01-10
|
2016-12-01 16:37:08 +00:00
|
|
|
*
|
|
|
|
* \deprecated use 'util/reconstructible.h' instead
|
2014-01-10 16:50:34 +00:00
|
|
|
*/
|
|
|
|
|
|
|
|
/*
|
2017-02-20 12:23:52 +00:00
|
|
|
* Copyright (C) 2014-2017 Genode Labs GmbH
|
2014-01-10 16:50:34 +00:00
|
|
|
*
|
|
|
|
* This file is part of the Genode OS framework, which is distributed
|
2017-02-20 12:23:52 +00:00
|
|
|
* under the terms of the GNU Affero General Public License version 3.
|
2014-01-10 16:50:34 +00:00
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef _INCLUDE__UTIL__VOLATILE_OBJECT_H_
|
|
|
|
#define _INCLUDE__UTIL__VOLATILE_OBJECT_H_
|
|
|
|
|
2016-12-01 16:37:08 +00:00
|
|
|
#include <util/reconstructible.h>
|
2014-01-10 16:50:34 +00:00
|
|
|
|
2016-12-01 16:37:08 +00:00
|
|
|
#warning "'util/volatile_object.h' is deprecated, use 'util/reconstructible.h' instead (see https://github.com/genodelabs/genode/issues/2151)"
|
2014-01-10 16:50:34 +00:00
|
|
|
|
2016-12-01 16:37:08 +00:00
|
|
|
namespace Genode {
|
2014-01-10 16:50:34 +00:00
|
|
|
|
2016-12-01 16:37:08 +00:00
|
|
|
template <typename T>
|
|
|
|
struct Volatile_object : Reconstructible<T>
|
|
|
|
{
|
|
|
|
using Reconstructible<T>::Reconstructible;
|
|
|
|
};
|
|
|
|
|
|
|
|
template <typename T>
|
|
|
|
struct Lazy_volatile_object : Constructible<T>
|
|
|
|
{
|
|
|
|
using Constructible<T>::Constructible;
|
|
|
|
};
|
|
|
|
}
|
2014-01-10 16:50:34 +00:00
|
|
|
|
|
|
|
#endif /* _INCLUDE__UTIL__VOLATILE_OBJECT_H_ */
|