Boost.Hana  1.6.0
Your standard library for metaprogramming
boost::hana::is_embedded< From, To, typename > Struct Template Reference

Description

template<typename From, typename To, typename>
struct boost::hana::is_embedded< From, To, typename >

Returns whether a data type can be embedded into another data type.

Given two data types To and From, is_embedded<From, To> returns whether From is convertible to To, and whether that conversion is also an embedding, as signaled by the embedding type.

Example

// Copyright Louis Dionne 2013-2017
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
namespace hana = boost::hana;
static_assert(hana::is_embedded<int, long>{}, "");
// int -> unsigned long could cause negative values to be lost
static_assert(!hana::is_embedded<int, unsigned int long>{}, "");
// similarly, float can't represent all the values of int
static_assert(!hana::is_embedded<int, float>{}, "");
// OK, the conversion is lossless
static_assert(hana::is_embedded<float, double>{}, "");
int main() { }

Inherits false_type.