proxsuite 0.6.7
The Advanced Proximal Optimization Toolbox
|
#include "proxsuite/linalg/veg/internal/external/hedley.ext.hpp"
#include "proxsuite/linalg/veg/internal/typedefs.hpp"
#include "proxsuite/linalg/veg/internal/preprocessor.hpp"
#include "proxsuite/linalg/veg/internal/prologue.hpp"
#include <initializer_list>
#include <utility>
#include "proxsuite/linalg/veg/internal/epilogue.hpp"
Go to the source code of this file.
Namespaces | |
namespace | proxsuite |
namespace | proxsuite::linalg |
namespace | proxsuite::linalg::veg |
namespace | proxsuite::linalg::veg::meta |
namespace | proxsuite::linalg::veg::_detail |
namespace | proxsuite::linalg::veg::_detail::_meta |
namespace | proxsuite::linalg::veg::nb |
namespace | proxsuite::linalg::veg::_detail::_meta::_detail |
namespace | proxsuite::linalg::veg::concepts |
namespace | proxsuite::linalg::veg::tags |
Macros | |
#define | PROXSUITE_PRETTY_FUNCTION __PRETTY_FUNCTION__ |
#define | PROXSUITE_THROW_PRETTY(condition, exception, message) |
#define | PROXSUITE_CHECK_ARGUMENT_SIZE(size, expected_size, message) |
#define | VEG_DEPRECATED(Reason) |
#define | VEG_UNUSED_VARIABLE(var) (void)(var) |
Helper to declare that a parameter is unused. | |
#define | VEG_ONLY_USED_FOR_DEBUG(var) |
#define | VEG_WRAP_SILENCE_WARNING(...) __VA_ARGS__ |
#define | VEG_HAS_NO_UNIQUE_ADDRESS 0 |
#define | VEG_NO_UNIQUE_ADDRESS |
#define | VEG_INLINE inline |
#define | VEG_NO_INLINE HEDLEY_NEVER_INLINE |
#define | VEG_HAS_CONCEPTS 0 |
#define | VEG_DECLVAL(...) (std::declval<__VA_ARGS__>()) |
#define | VEG_ARROW(...) |
#define | VEG_LAZY_BY_REF(...) [&]() VEG_ARROW(__VA_ARGS__) |
#define | VEG_LIFT(...) [&](auto&&... args) VEG_ARROW((__VA_ARGS__)(VEG_FWD(args)...)) |
#define | VEG_DEDUCE_RET(...) |
#define | VEG_HAS_FOLD_EXPR 0 |
#define | VEG_ALL_OF(...) |
#define | VEG_ANY_OF(...) |
#define | VEG_EVAL_ALL(...) |
#define | __VEG_IMPL_DEF_CONCEPT(Tpl, Name, Value, ...) |
#define | __VEG_NO_WARNING_PRAGMA_PUSH |
#define | __VEG_NO_WARNING_PRAGMA_POP |
#define | VEG_CONCEPT_EXPR(Tpl, TplNames, Name, Expr, ...) |
#define | VEG_CONCEPT_MACRO(Namespace, ...) Namespace::__VA_ARGS__::value |
#define | __VEG_IMPL_ADD_VALUE(I, _, Param) ((__VEG_PP_REMOVE_PAREN(Param)::value)) |
#define | __VEG_IMPL_TRAIT(Param) __VEG_PP_UNWRAP(Param) |
#define | __VEG_IMPL_PUT_TRAIT(I, _, Param) __VEG_IMPL_TRAIT(Param) |
#define | VEG_CHECK_CONCEPT_MACRO(Namespace, ...) |
#define | VEG_DEF_CONCEPT(Tpl, Name, ...) |
#define | __VEG_IMPL_SFINAE(_, Param) |
#define | __VEG_IMPL_OVERLOAD(Name_Tpl, Param) |
#define | VEG_DEF_CONCEPT_BOOL_CONJUNCTION_IMPL(Tpl, Name, Base, Seq) |
#define | VEG_DEF_CONCEPT_BOOL_DISJUNCTION_IMPL(Tpl, Name, Base, Seq) |
#define | VEG_DEF_CONCEPT_CONJUNCTION(Tpl, Name, Terms) |
#define | VEG_DEF_CONCEPT_DISJUNCTION(Tpl, Name, Terms) |
#define | __VEG_IMPL_CONJUNCTION(Tuple) |
#define | __VEG_IMPL_DISJUNCTION(Tuple) |
#define | VEG_TEMPLATE(TParams, Constraint, Attr_Name, ...) |
#define | VEG_CONSTRAINED_MEMBER_FN(Constraint, Attr_Name, Params, ...) |
#define | VEG_TEMPLATE_CVT(TParams, Constraint, Attr, ...) |
#define | VEG_TEMPLATE_EXPLICIT( TParams, Constraint, Explicit_Cond, Attr_Name, Params, ...) |
#define | VEG_TEMPLATE_CVT_EXPLICIT( TParams, Constraint, Explicit_Cond, Attr, Type, ...) |
#define | __VEG_IMPL_PREFIX_requires |
#define | __VEG_IMPL_PREFIX_explicit |
#define | __VEG_IMPL_PARAM_EXPAND(I, _, Param) __VEG_PP_TAIL Param __VEG_PP_HEAD Param |
#define | __VEG_IMPL_TEMPLATE2_HELPER_0(Constraint, Param) __VEG_PP_TAIL Param __VEG_PP_HEAD Param |
#define | __VEG_IMPL_TEMPLATE2_HELPER_1(Constraint, Param) |
#define | __VEG_IMPL_TEMPLATE2_HELPER(I, Constraint, Param) |
#define | __VEG_IMPL_TEMPLATE(Attr_Name, TParams, Constraint, ...) |
#define | VEG_INLINE_VAR(Name, Obj) |
#define | VEG_INLINE_VAR_TEMPLATE(Tpl, Name, ...) VEG_NOM_SEMICOLON |
#define | VEG_NIEBLOID(Name) VEG_INLINE_VAR(Name, nb::Name) |
#define | VEG_NIEBLOID_TEMPLATE(Tpl, Name, ...) VEG_INLINE_VAR_TEMPLATE(Tpl, Name, nb::Name<__VA_ARGS__>) |
#define | VEG_TAG(Name, Type) |
#define | VEG_TAG_TEMPLATE(Tpl, Name, Type, ...) |
#define | VEG_FWD(X) static_cast<decltype(X)&&>(X) |
#define | VEG_FWD2(X) static_cast<decltype(X)>(static_cast<decltype(X)&&>(X)) |
#define | VEG_MOV(X) static_cast<typename ::proxsuite::linalg::veg::uncvref_t<decltype(X)>&&>(X) |
#define | VEG_INSTANTIATE(Fn, ...) |
#define | __VEG_IMPL_INSTANTIATE(Fn, Name, ...) |
#define | VEG_INSTANTIATE_CLASS(Class, ...) template struct Class<__VA_ARGS__> |
#define | VEG_NOM_SEMICOLON static_assert(true, ".") |
#define | VEG_ID(id) __VEG_PP_CAT(id, __COUNTER__) |
#define | VEG_DEF_CONCEPT_BUILTIN_OR_INTERNAL(Tpl, Name, ...) |
#define | __VEG_IMPL_UTF8_CONST(Literal) |
#define | VEG_DECLTYPE_VOID(...) decltype(void(__VA_ARGS__)) |
#define | VEG_BOOL_NOEXCEPT(...) ::proxsuite::linalg::veg::meta::bool_constant<noexcept(__VA_ARGS__)> |
#define | VEG_CHECK_CONCEPT(...) VEG_CHECK_CONCEPT_MACRO(::proxsuite::linalg::veg::concepts, __VA_ARGS__) |
#define | VEG_CONCEPT(...) VEG_CONCEPT_MACRO(::proxsuite::linalg::veg::concepts, __VA_ARGS__) |
#define | __VEG_IMPL_GET_MEMBER_PTR(_, MemberPtr) /* NOLINT */ , &Type::MemberPtr |
#define | __VEG_IMPL_GET_MEMBER_NAME_PTR(_, MemberPtr) |
#define | __VEG_IMPL_GET_MEMBER_NAME_LEN(_, MemberPtr) |
#define | __VEG_IMPL_STRUCT_SETUP(PClass, ...) |
#define | VEG_REFLECT(PClass, ...) __VEG_IMPL_STRUCT_SETUP(PClass, __VA_ARGS__) |
#define PROXSUITE_PRETTY_FUNCTION __PRETTY_FUNCTION__ |
Definition at line 15 of file macros.hpp.
#define PROXSUITE_THROW_PRETTY | ( | condition, | |
exception, | |||
message ) |
Definition at line 18 of file macros.hpp.
#define PROXSUITE_CHECK_ARGUMENT_SIZE | ( | size, | |
expected_size, | |||
message ) |
Definition at line 28 of file macros.hpp.
#define VEG_DEPRECATED | ( | Reason | ) |
Definition at line 77 of file macros.hpp.
#define VEG_UNUSED_VARIABLE | ( | var | ) | (void)(var) |
Helper to declare that a parameter is unused.
Definition at line 81 of file macros.hpp.
#define VEG_ONLY_USED_FOR_DEBUG | ( | var | ) |
Definition at line 85 of file macros.hpp.
#define VEG_WRAP_SILENCE_WARNING | ( | ... | ) | __VA_ARGS__ |
Definition at line 96 of file macros.hpp.
#define VEG_HAS_NO_UNIQUE_ADDRESS 0 |
Definition at line 100 of file macros.hpp.
#define VEG_NO_UNIQUE_ADDRESS |
Definition at line 110 of file macros.hpp.
#define VEG_INLINE inline |
Definition at line 118 of file macros.hpp.
#define VEG_NO_INLINE HEDLEY_NEVER_INLINE |
Definition at line 123 of file macros.hpp.
#define VEG_HAS_CONCEPTS 0 |
Definition at line 128 of file macros.hpp.
#define VEG_DECLVAL | ( | ... | ) | (std::declval<__VA_ARGS__>()) |
Definition at line 131 of file macros.hpp.
#define VEG_ARROW | ( | ... | ) |
Definition at line 148 of file macros.hpp.
#define VEG_LAZY_BY_REF | ( | ... | ) | [&]() VEG_ARROW(__VA_ARGS__) |
Definition at line 155 of file macros.hpp.
Definition at line 157 of file macros.hpp.
#define VEG_DEDUCE_RET | ( | ... | ) |
Definition at line 160 of file macros.hpp.
#define VEG_HAS_FOLD_EXPR 0 |
Definition at line 176 of file macros.hpp.
#define VEG_ALL_OF | ( | ... | ) |
Definition at line 177 of file macros.hpp.
#define VEG_ANY_OF | ( | ... | ) |
Definition at line 183 of file macros.hpp.
#define VEG_EVAL_ALL | ( | ... | ) |
Definition at line 191 of file macros.hpp.
#define __VEG_IMPL_DEF_CONCEPT | ( | Tpl, | |
Name, | |||
Value, | |||
... ) |
Definition at line 257 of file macros.hpp.
#define __VEG_NO_WARNING_PRAGMA_PUSH |
Definition at line 268 of file macros.hpp.
#define __VEG_NO_WARNING_PRAGMA_POP |
Definition at line 269 of file macros.hpp.
#define VEG_CONCEPT_EXPR | ( | Tpl, | |
TplNames, | |||
Name, | |||
Expr, | |||
... ) |
Definition at line 272 of file macros.hpp.
#define VEG_CONCEPT_MACRO | ( | Namespace, | |
... ) Namespace::__VA_ARGS__::value |
Definition at line 311 of file macros.hpp.
#define __VEG_IMPL_ADD_VALUE | ( | I, | |
_, | |||
Param ) ((__VEG_PP_REMOVE_PAREN(Param)::value)) |
Definition at line 312 of file macros.hpp.
#define __VEG_IMPL_TRAIT | ( | Param | ) | __VEG_PP_UNWRAP(Param) |
Definition at line 314 of file macros.hpp.
#define __VEG_IMPL_PUT_TRAIT | ( | I, | |
_, | |||
Param ) __VEG_IMPL_TRAIT(Param) |
Definition at line 316 of file macros.hpp.
#define VEG_CHECK_CONCEPT_MACRO | ( | Namespace, | |
... ) |
Definition at line 318 of file macros.hpp.
#define VEG_DEF_CONCEPT | ( | Tpl, | |
Name, | |||
... ) |
Definition at line 321 of file macros.hpp.
#define __VEG_IMPL_SFINAE | ( | _, | |
Param ) |
Definition at line 333 of file macros.hpp.
#define __VEG_IMPL_OVERLOAD | ( | Name_Tpl, | |
Param ) |
Definition at line 337 of file macros.hpp.
#define VEG_DEF_CONCEPT_BOOL_CONJUNCTION_IMPL | ( | Tpl, | |
Name, | |||
Base, | |||
Seq ) |
Definition at line 344 of file macros.hpp.
#define VEG_DEF_CONCEPT_BOOL_DISJUNCTION_IMPL | ( | Tpl, | |
Name, | |||
Base, | |||
Seq ) |
Definition at line 352 of file macros.hpp.
#define VEG_DEF_CONCEPT_CONJUNCTION | ( | Tpl, | |
Name, | |||
Terms ) |
Definition at line 360 of file macros.hpp.
#define VEG_DEF_CONCEPT_DISJUNCTION | ( | Tpl, | |
Name, | |||
Terms ) |
Definition at line 367 of file macros.hpp.
#define __VEG_IMPL_CONJUNCTION | ( | Tuple | ) |
Definition at line 374 of file macros.hpp.
#define __VEG_IMPL_DISJUNCTION | ( | Tuple | ) |
Definition at line 377 of file macros.hpp.
#define VEG_TEMPLATE | ( | TParams, | |
Constraint, | |||
Attr_Name, | |||
... ) |
Definition at line 385 of file macros.hpp.
#define VEG_CONSTRAINED_MEMBER_FN | ( | Constraint, | |
Attr_Name, | |||
Params, | |||
... ) |
Definition at line 401 of file macros.hpp.
#define VEG_TEMPLATE_CVT | ( | TParams, | |
Constraint, | |||
Attr, | |||
... ) |
Definition at line 410 of file macros.hpp.
#define VEG_TEMPLATE_EXPLICIT | ( | TParams, | |
Constraint, | |||
Explicit_Cond, | |||
Attr_Name, | |||
Params, | |||
... ) |
Definition at line 434 of file macros.hpp.
#define VEG_TEMPLATE_CVT_EXPLICIT | ( | TParams, | |
Constraint, | |||
Explicit_Cond, | |||
Attr, | |||
Type, | |||
... ) |
Definition at line 454 of file macros.hpp.
#define __VEG_IMPL_PREFIX_requires |
Definition at line 476 of file macros.hpp.
#define __VEG_IMPL_PREFIX_explicit |
Definition at line 477 of file macros.hpp.
#define __VEG_IMPL_PARAM_EXPAND | ( | I, | |
_, | |||
Param ) __VEG_PP_TAIL Param __VEG_PP_HEAD Param |
Definition at line 479 of file macros.hpp.
#define __VEG_IMPL_TEMPLATE2_HELPER_0 | ( | Constraint, | |
Param ) __VEG_PP_TAIL Param __VEG_PP_HEAD Param |
Definition at line 489 of file macros.hpp.
#define __VEG_IMPL_TEMPLATE2_HELPER_1 | ( | Constraint, | |
Param ) |
Definition at line 492 of file macros.hpp.
#define __VEG_IMPL_TEMPLATE2_HELPER | ( | I, | |
Constraint, | |||
Param ) |
Definition at line 497 of file macros.hpp.
#define __VEG_IMPL_TEMPLATE | ( | Attr_Name, | |
TParams, | |||
Constraint, | |||
... ) |
Definition at line 502 of file macros.hpp.
#define VEG_INLINE_VAR | ( | Name, | |
Obj ) |
Definition at line 523 of file macros.hpp.
#define VEG_INLINE_VAR_TEMPLATE | ( | Tpl, | |
Name, | |||
... ) VEG_NOM_SEMICOLON |
Definition at line 541 of file macros.hpp.
#define VEG_NIEBLOID | ( | Name | ) | VEG_INLINE_VAR(Name, nb::Name) |
Definition at line 545 of file macros.hpp.
#define VEG_NIEBLOID_TEMPLATE | ( | Tpl, | |
Name, | |||
... ) VEG_INLINE_VAR_TEMPLATE(Tpl, Name, nb::Name<__VA_ARGS__>) |
Definition at line 547 of file macros.hpp.
#define VEG_TAG | ( | Name, | |
Type ) |
Definition at line 550 of file macros.hpp.
#define VEG_TAG_TEMPLATE | ( | Tpl, | |
Name, | |||
Type, | |||
... ) |
Definition at line 561 of file macros.hpp.
#define VEG_FWD | ( | X | ) | static_cast<decltype(X)&&>(X) |
Definition at line 569 of file macros.hpp.
#define VEG_FWD2 | ( | X | ) | static_cast<decltype(X)>(static_cast<decltype(X)&&>(X)) |
Definition at line 570 of file macros.hpp.
#define VEG_MOV | ( | X | ) | static_cast<typename ::proxsuite::linalg::veg::uncvref_t<decltype(X)>&&>(X) |
Definition at line 573 of file macros.hpp.
#define VEG_INSTANTIATE | ( | Fn, | |
... ) |
Definition at line 580 of file macros.hpp.
#define __VEG_IMPL_INSTANTIATE | ( | Fn, | |
Name, | |||
... ) |
Definition at line 586 of file macros.hpp.
#define VEG_INSTANTIATE_CLASS | ( | Class, | |
... ) template struct Class<__VA_ARGS__> |
Definition at line 597 of file macros.hpp.
#define VEG_NOM_SEMICOLON static_assert(true, ".") |
Definition at line 600 of file macros.hpp.
#define VEG_ID | ( | id | ) | __VEG_PP_CAT(id, __COUNTER__) |
Definition at line 601 of file macros.hpp.
#define VEG_DEF_CONCEPT_BUILTIN_OR_INTERNAL | ( | Tpl, | |
Name, | |||
... ) |
Definition at line 786 of file macros.hpp.
#define __VEG_IMPL_UTF8_CONST | ( | Literal | ) |
Definition at line 1220 of file macros.hpp.
#define VEG_DECLTYPE_VOID | ( | ... | ) | decltype(void(__VA_ARGS__)) |
Definition at line 1237 of file macros.hpp.
#define VEG_BOOL_NOEXCEPT | ( | ... | ) | ::proxsuite::linalg::veg::meta::bool_constant<noexcept(__VA_ARGS__)> |
Definition at line 1238 of file macros.hpp.
#define VEG_CHECK_CONCEPT | ( | ... | ) | VEG_CHECK_CONCEPT_MACRO(::proxsuite::linalg::veg::concepts, __VA_ARGS__) |
Definition at line 1241 of file macros.hpp.
#define VEG_CONCEPT | ( | ... | ) | VEG_CONCEPT_MACRO(::proxsuite::linalg::veg::concepts, __VA_ARGS__) |
Definition at line 1243 of file macros.hpp.
#define __VEG_IMPL_GET_MEMBER_PTR | ( | _, | |
MemberPtr ) /* NOLINT */ , &Type::MemberPtr |
Definition at line 1246 of file macros.hpp.
#define __VEG_IMPL_GET_MEMBER_NAME_PTR | ( | _, | |
MemberPtr ) |
Definition at line 1247 of file macros.hpp.
#define __VEG_IMPL_GET_MEMBER_NAME_LEN | ( | _, | |
MemberPtr ) |
Definition at line 1250 of file macros.hpp.
#define __VEG_IMPL_STRUCT_SETUP | ( | PClass, | |
... ) |
Definition at line 1253 of file macros.hpp.
#define VEG_REFLECT | ( | PClass, | |
... ) __VEG_IMPL_STRUCT_SETUP(PClass, __VA_ARGS__) |
Definition at line 1309 of file macros.hpp.