proxsuite
0.6.7
The Advanced Proximal Optimization Toolbox
Loading...
Searching...
No Matches
tags.hpp
Go to the documentation of this file.
1
#ifndef VEG_TAGS_HPP_FYDE7Q6ZS
2
#define VEG_TAGS_HPP_FYDE7Q6ZS
3
4
#include "
proxsuite/linalg/veg/type_traits/core.hpp
"
5
#include "
proxsuite/linalg/veg/internal/prologue.hpp
"
6
7
namespace
proxsuite
{
8
namespace
linalg {
9
namespace
veg {
10
inline
namespace
tags {
11
VEG_TAG_TEMPLATE
(
typename
T, tag,
Tag
, T);
12
VEG_TAG
(as_ref,
AsRef
);
13
VEG_TAG
(as_mut,
AsMut
);
14
VEG_TAG
(
from
,
From
);
15
VEG_TAG
(
from_i
,
FromI
);
16
VEG_TAG
(
as_ref_once
,
AsRefOnce
);
17
18
VEG_TAG
(
from_alloc
,
FromAlloc
);
19
VEG_TAG
(
from_alloc_and_value
,
FromAllocAndValue
);
20
21
VEG_TAG
(
from_slice
,
FromSlice
);
22
VEG_TAG
(
from_slice_mut
,
FromSliceMut
);
23
template
<
typename
Tag>
24
struct
InPlace
25
{
26
InPlace
() =
default
;
27
};
28
29
template
<>
30
struct
InPlace
<void>
31
{
32
InPlace
() =
default
;
33
template
<
typename
Tag>
34
VEG_INLINE
constexpr
auto
operator[]
(
Tag
/*tag*/
)
const
noexcept
35
->
InPlace<Tag>
36
{
37
return
InPlace<Tag>
{};
38
}
39
};
40
VEG_INLINE_VAR
(
inplace
,
InPlace<void>
);
41
}
// namespace tags
42
}
// namespace veg
43
}
// namespace linalg
44
}
// namespace proxsuite
45
46
#include "
proxsuite/linalg/veg/internal/epilogue.hpp
"
47
#endif
/* end of include guard VEG_TAGS_HPP_FYDE7Q6ZS */
epilogue.hpp
VEG_TAG
#define VEG_TAG(Name, Type)
Definition
macros.hpp:550
VEG_INLINE_VAR
#define VEG_INLINE_VAR(Name, Obj)
Definition
macros.hpp:523
VEG_INLINE
#define VEG_INLINE
Definition
macros.hpp:118
VEG_TAG_TEMPLATE
#define VEG_TAG_TEMPLATE(Tpl, Name, Type,...)
Definition
macros.hpp:561
proxsuite
Definition
common.hpp:14
prologue.hpp
proxsuite::linalg::veg::Ref
Definition
ref.hpp:30
proxsuite::linalg::veg::tags::InPlace< void >::InPlace
InPlace()=default
proxsuite::linalg::veg::tags::InPlace< void >::operator[]
VEG_INLINE constexpr auto operator[](Tag) const noexcept -> InPlace< Tag >
Definition
tags.hpp:34
proxsuite::linalg::veg::InPlace
Definition
tags.hpp:25
proxsuite::linalg::veg::tags::InPlace::InPlace
InPlace()=default
core.hpp
include
proxsuite
linalg
veg
type_traits
tags.hpp
Generated by
1.10.0