proxsuite
0.6.7
The Advanced Proximal Optimization Toolbox
Loading...
Searching...
No Matches
assignable.hpp
Go to the documentation of this file.
1
#ifndef VEG_ASSIGNABLE_HPP_4ZNCRTO7S
2
#define VEG_ASSIGNABLE_HPP_4ZNCRTO7S
3
4
#include "
proxsuite/linalg/veg/type_traits/core.hpp
"
5
#include "
proxsuite/linalg/veg/internal/prologue.hpp
"
6
7
#if !VEG_HAS_BUILTIN(__is_trivially_assignable) || \
8
!VEG_HAS_BUILTIN(__is_assignable) || \
9
!VEG_HAS_BUILTIN(__is_nothrow_assignable)
10
#include <type_traits>
11
#endif
12
13
namespace
proxsuite
{
14
namespace
linalg {
15
namespace
veg {
16
namespace
concepts {
17
18
VEG_DEF_CONCEPT_FROM_BUILTIN_OR_STD
((
typename
T,
typename
U
),
assignable
, T,
U
);
19
VEG_DEF_CONCEPT_FROM_BUILTIN_OR_STD
((
typename
T,
typename
U
),
20
nothrow_assignable
,
21
T&&,
22
U
&&);
23
24
VEG_DEF_CONCEPT_FROM_BUILTIN_OR_TRAIT
(
typename
T,
25
trivially_copy_assignable
,
26
is_trivially_assignable
,
27
T&,
28
T
const
&);
29
VEG_DEF_CONCEPT_FROM_BUILTIN_OR_TRAIT
(
typename
T,
30
trivially_move_assignable
,
31
is_trivially_assignable
,
32
T&,
33
T&&);
34
35
VEG_DEF_CONCEPT
(
typename
T,
move_assignable
,
VEG_CONCEPT
(
assignable<T&, T&&>
));
36
VEG_DEF_CONCEPT
(
typename
T,
37
nothrow_move_assignable
,
38
VEG_CONCEPT
(
nothrow_assignable<T&, T&&>
));
39
40
VEG_DEF_CONCEPT
(
typename
T,
41
copy_assignable
,
42
VEG_CONCEPT
(
assignable<T&, T const&>
));
43
VEG_DEF_CONCEPT
(
typename
T,
44
nothrow_copy_assignable
,
45
VEG_CONCEPT
(
nothrow_assignable<T&, T const&>
));
46
47
}
// namespace concepts
48
}
// namespace veg
49
}
// namespace linalg
50
}
// namespace proxsuite
51
52
#include "
proxsuite/linalg/veg/internal/epilogue.hpp
"
53
#endif
/* end of include guard VEG_ASSIGNABLE_HPP_4ZNCRTO7S */
epilogue.hpp
VEG_CONCEPT
#define VEG_CONCEPT(...)
Definition
macros.hpp:1243
VEG_DEF_CONCEPT
#define VEG_DEF_CONCEPT(Tpl, Name,...)
Definition
macros.hpp:321
proxsuite
Definition
common.hpp:14
prologue.hpp
VEG_DEF_CONCEPT_FROM_BUILTIN_OR_TRAIT
#define VEG_DEF_CONCEPT_FROM_BUILTIN_OR_TRAIT(Tpl, Trait, Std_Trait,...)
Definition
prologue.hpp:40
VEG_DEF_CONCEPT_FROM_BUILTIN_OR_STD
#define VEG_DEF_CONCEPT_FROM_BUILTIN_OR_STD(Tpl, Trait,...)
Definition
prologue.hpp:50
proxsuite::linalg::veg::Ref
Definition
ref.hpp:30
core.hpp
include
proxsuite
linalg
veg
type_traits
assignable.hpp
Generated by
1.10.0