OpenKalman
Classes | Variables
movable_box.hpp File Reference
#include <optional>
#include "basics/compatibility/object-concepts.hpp"
Include dependency graph for movable_box.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  OpenKalman::internal::movable_box< T, typename >
 Equivalent to exposition-only "movable-box" from c++23 standard. More...
 
struct  OpenKalman::internal::movable_box< T, std::enable_if_t< detail::boxable< T > and not detail::boxable_movable< T > and not detail::boxable_copyable< T > > >
 
struct  OpenKalman::internal::movable_box< T, std::enable_if_t< detail::boxable< T > and(detail::boxable_movable< T > or detail::boxable_copyable< T >)> >
 

Variables

template<typename T >
constexpr bool OpenKalman::internal::detail::boxable
 
template<typename Tp >
constexpr bool OpenKalman::internal::detail::boxable_copyable
 
template<typename Tp >
constexpr bool OpenKalman::internal::detail::boxable_movable
 

Variable Documentation

◆ boxable

template<typename T >
constexpr bool OpenKalman::internal::detail::boxable
inline
Initial value:
=
stdex::move_constructible<T> and std::is_object_v<T>

◆ boxable_copyable

template<typename Tp >
constexpr bool OpenKalman::internal::detail::boxable_copyable
inline
Initial value:
=
stdex::copy_constructible<Tp> and
(stdex::copyable<Tp> or (std::is_nothrow_move_constructible_v<Tp> and std::is_nothrow_copy_constructible_v<Tp>))

◆ boxable_movable

template<typename Tp >
constexpr bool OpenKalman::internal::detail::boxable_movable
inline
Initial value:
=
(not stdex::copy_constructible<Tp>) and
(stdex::movable<Tp> or std::is_nothrow_move_constructible_v<Tp>)