xtd 0.2.0
Loading...
Searching...
No Matches
as_expression.hpp
Go to the documentation of this file.
1
4#pragma once
5#include "args.hpp"
6#include "value.hpp"
8#include "../usize.hpp"
9#include <type_traits>
10
12namespace xtd {
14 namespace expressions {
16
31 template <typename type_t>
33 constexpr decltype(auto) as_expression(type_t&& value) {
34 return std::forward<type_t>(value);
35 }
36
49 template <typename type_t>
50 requires (!expression_operand<type_t>)
51 constexpr auto as_expression(type_t&& value) {
52 return xtd::expressions::value<std::decay_t<type_t>> {std::forward<type_t>(value)};
53 }
54
55 }
56}
Contains xtd::expressions::_ and xtd::expressions::_1 ... xtd::expressions::_10 variables.
The xtd::expressions::expression_operand object is expression operand concept.
Definition expression_operand.hpp:27
Contains xtd::expressions::expression_operand concept.
constexpr decltype(auto) as_expression(type_t &&value)
The xtd::expressions::as_expression method convert a type as xtd::expressions::expression.
Definition as_expression.hpp:33
The xtd::expressions namespace provides a lightweight, composable expression template framework for b...
Definition add_expression.hpp:14
The xtd namespace contains all fundamental classes to access Hardware, Os, System,...
Definition abstract_object.hpp:8
The xtd::expressions::value is the value wrapper.
Definition value.hpp:55
Contains xtd::usize type.
Contains xtd::expressions::value struct.