OpenKalman
Classes | Variables
movable_box.hpp File Reference
#include <optional>
#include <type_traits>
#include "basics/compatibility/language-features.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 >
 
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 = copy_constructible<T> and std::is_object_v<T>
 
template<typename T >
constexpr bool OpenKalman::internal::detail::boxable_copyable
 
template<typename T >
constexpr bool OpenKalman::internal::detail::boxable_movable
 

Variable Documentation

◆ boxable_copyable

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

◆ boxable_movable

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