Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

Boost.Hana: boost::hana::embedding< bool > Struct Template Reference

Boost , ,

Boost.Hana  1.0.1
Your standard library for metaprogramming
Отмечает преобразование между типами данных как встраивание.

Для обозначения конверсии между двумя типами данныхКиИзв качестве встраивания просто используйтевстраивание(или простовстраивание<>) в качестве базового класса соответствующейк_implспециализации. Еслиto_implспециализация не наследуетвстраиваниеиливстраивание<>, то это не считается встраиваниемявляется_embeddedметафункция.

Tip

Параметр булевого шаблона полезен для маркировки конверсии как встраивания только тогда, когда выполняется какое-либо условие.

Example

// Copyright Louis Dionne 2013-2016
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
#include <vector>
namespace hana = boost::hana;
namespace boost { namespace hana {
template <typename To, typename From>
struct to_impl<std::vector<To>, std::vector<From>,
when<is_convertible<From, To>::value>>
: embedding<is_embedded<From, To>::value>
{
static std::vector<To> apply(std::vector<From> const& xs) {
std::vector<To> result;
for (auto const& x: xs)
result.push_back(to<To>(x));
return result;
}
};
}}
int main() {
hana::to<std::vector<int>>(std::vector<float>{1.1, 2.2, 3.3})
==
std::vector<int>{1, 2, 3}
);
static_assert(!hana::is_embedded<std::vector<float>, std::vector<int>>{}, "");
}

Статья Boost.Hana: boost::hana::embedding< bool > Struct Template Reference раздела может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-05-20 04:47:15/0.0051200389862061/1