proxsuite 0.6.7
The Advanced Proximal Optimization Toolbox
Loading...
Searching...
No Matches
prologue.hpp File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define VEG_PROLOGUE
 
#define VEG_ALWAYS_NOEXCEPT   noexcept
 
#define VEG_NOEXCEPT   noexcept(true)
 
#define VEG_NOEXCEPT_IF(...)   noexcept(VEG_WRAP_SILENCE_WARNING(__VA_ARGS__))
 
#define VEG_IS_NOEXCEPT(Expr)   noexcept(Expr)
 
#define VEG_NOEXCEPT_LIKE(Expr)   VEG_NOEXCEPT_IF(VEG_IS_NOEXCEPT(Expr))
 
#define VEG_HAS_BUILTIN_OR_0(True, False)   __VEG_PP_REMOVE_PAREN(False)
 
#define VEG_HAS_BUILTIN_OR_1(True, False)   __VEG_PP_REMOVE_PAREN(True)
 
#define VEG_HAS_BUILTIN_OR(Builtin, True, False)    __VEG_PP_CAT(VEG_HAS_BUILTIN_OR_, VEG_HAS_BUILTIN(Builtin))(True, False)
 
#define VEG_DEF_CONCEPT_FROM_BUILTIN_OR_TRAIT(Tpl, Trait, Std_Trait, ...)
 
#define VEG_DEF_CONCEPT_FROM_BUILTIN_OR_STD(Tpl, Trait, ...)
 
#define VEG_EXPLICIT_COPY(Class)
 
#define VEG_NO_COPY(Class)
 
#define VEG_CPP14(...)
 
#define VEG_CPP17(...)
 
#define VEG_CPP20(...)
 
#define VEG_HAS_BUILTIN(x)   0
 
#define VEG_NODISCARD
 
#define VEG_INTERNAL_ASSERT_PRECONDITION   VEG_ASSERT
 
#define VEG_INTERNAL_ASSERT_PRECONDITIONS   VEG_ASSERT_ALL_OF
 
#define VEG_INTERNAL_ASSERT_INVARIANT(...)
 
#define VEG_IGNORE_CPP14_EXTENSION_WARNING(...)
 
#define VEG_ABI_VERSION   v0
 
#define VEG_DOC(...)
 
#define VEG_DOC_LOCATION   VEG_NOM_SEMICOLON
 
#define VEG_DOC_FN   VEG_DOC_LOCATION; /* proxsuite::linalg::veg::@func */
 
#define VEG_DOC_CTOR   VEG_DOC_LOCATION; /* proxsuite::linalg::veg::@ctor */
 
#define VEG_DOC_CLASS   VEG_DOC_LOCATION; /* proxsuite::linalg::veg::@class */
 

Macro Definition Documentation

◆ VEG_PROLOGUE

#define VEG_PROLOGUE

Definition at line 4 of file prologue.hpp.

◆ VEG_ALWAYS_NOEXCEPT

#define VEG_ALWAYS_NOEXCEPT   noexcept

Definition at line 22 of file prologue.hpp.

◆ VEG_NOEXCEPT

#define VEG_NOEXCEPT   noexcept(true)

Definition at line 30 of file prologue.hpp.

◆ VEG_NOEXCEPT_IF

#define VEG_NOEXCEPT_IF ( ...)    noexcept(VEG_WRAP_SILENCE_WARNING(__VA_ARGS__))

Definition at line 31 of file prologue.hpp.

◆ VEG_IS_NOEXCEPT

#define VEG_IS_NOEXCEPT ( Expr)    noexcept(Expr)

Definition at line 32 of file prologue.hpp.

◆ VEG_NOEXCEPT_LIKE

#define VEG_NOEXCEPT_LIKE ( Expr)    VEG_NOEXCEPT_IF(VEG_IS_NOEXCEPT(Expr))

Definition at line 34 of file prologue.hpp.

◆ VEG_HAS_BUILTIN_OR_0

#define VEG_HAS_BUILTIN_OR_0 ( True,
False )   __VEG_PP_REMOVE_PAREN(False)

Definition at line 36 of file prologue.hpp.

◆ VEG_HAS_BUILTIN_OR_1

#define VEG_HAS_BUILTIN_OR_1 ( True,
False )   __VEG_PP_REMOVE_PAREN(True)

Definition at line 37 of file prologue.hpp.

◆ VEG_HAS_BUILTIN_OR

#define VEG_HAS_BUILTIN_OR ( Builtin,
True,
False )    __VEG_PP_CAT(VEG_HAS_BUILTIN_OR_, VEG_HAS_BUILTIN(Builtin))(True, False)

Definition at line 38 of file prologue.hpp.

◆ VEG_DEF_CONCEPT_FROM_BUILTIN_OR_TRAIT

#define VEG_DEF_CONCEPT_FROM_BUILTIN_OR_TRAIT ( Tpl,
Trait,
Std_Trait,
... )
Value:
Tpl, \
Trait, \
VEG_HAS_BUILTIN_OR(__VEG_PP_CAT(__, Std_Trait), \
__VEG_PP_HEAD(__VA_ARGS__)>>(), \
__VEG_PP_CAT(__, Std_Trait)(__VA_ARGS__))), \
(::std::Std_Trait<__VA_ARGS__>::value)))
#define VEG_DEF_CONCEPT(Tpl, Name,...)
Definition macros.hpp:321
constexpr auto assert_complete() noexcept -> bool
Definition macros.hpp:1076
#define __VEG_PP_HEAD(...)
#define __VEG_PP_CAT(A,...)
#define VEG_HAS_BUILTIN_OR(Builtin, True, False)
Definition prologue.hpp:38

Definition at line 40 of file prologue.hpp.

◆ VEG_DEF_CONCEPT_FROM_BUILTIN_OR_STD

#define VEG_DEF_CONCEPT_FROM_BUILTIN_OR_STD ( Tpl,
Trait,
... )
Value:
Tpl, Trait, __VEG_PP_CAT(is_, Trait), __VA_ARGS__)
#define VEG_DEF_CONCEPT_FROM_BUILTIN_OR_TRAIT(Tpl, Trait, Std_Trait,...)
Definition prologue.hpp:40

Definition at line 50 of file prologue.hpp.

◆ VEG_EXPLICIT_COPY

#define VEG_EXPLICIT_COPY ( Class)
Value:
~Class() = default; \
Class(Class&&) = default; \
explicit Class(Class const&) = default; \
auto operator=(Class&&)&->Class& = default; \
auto operator=(Class const&)&->Class& = default

Definition at line 54 of file prologue.hpp.

◆ VEG_NO_COPY

#define VEG_NO_COPY ( Class)
Value:
~Class() = default; \
Class(Class&&) = default; \
Class(Class const&) = delete; \
auto operator=(Class&&)&->Class& = default; \
auto operator=(Class const&)&->Class& = delete

Definition at line 61 of file prologue.hpp.

◆ VEG_CPP14

#define VEG_CPP14 ( ...)

Definition at line 71 of file prologue.hpp.

◆ VEG_CPP17

#define VEG_CPP17 ( ...)

Definition at line 77 of file prologue.hpp.

◆ VEG_CPP20

#define VEG_CPP20 ( ...)

Definition at line 83 of file prologue.hpp.

◆ VEG_HAS_BUILTIN

#define VEG_HAS_BUILTIN ( x)    0

Definition at line 89 of file prologue.hpp.

◆ VEG_NODISCARD

#define VEG_NODISCARD

Definition at line 97 of file prologue.hpp.

◆ VEG_INTERNAL_ASSERT_PRECONDITION

#define VEG_INTERNAL_ASSERT_PRECONDITION   VEG_ASSERT

Definition at line 100 of file prologue.hpp.

◆ VEG_INTERNAL_ASSERT_PRECONDITIONS

#define VEG_INTERNAL_ASSERT_PRECONDITIONS   VEG_ASSERT_ALL_OF

Definition at line 101 of file prologue.hpp.

◆ VEG_INTERNAL_ASSERT_INVARIANT

#define VEG_INTERNAL_ASSERT_INVARIANT ( ...)
Value:
(VEG_DEBUG_ASSERT_ELSE("inner assertion failed", __VA_ARGS__), \
HEDLEY_UNREACHABLE())
#define VEG_DEBUG_ASSERT_ELSE(Message,...)
Definition assert.hpp:40

Definition at line 107 of file prologue.hpp.

◆ VEG_IGNORE_CPP14_EXTENSION_WARNING

#define VEG_IGNORE_CPP14_EXTENSION_WARNING ( ...)

Definition at line 131 of file prologue.hpp.

◆ VEG_ABI_VERSION

#define VEG_ABI_VERSION   v0

Definition at line 146 of file prologue.hpp.

◆ VEG_DOC

#define VEG_DOC ( ...)

Definition at line 152 of file prologue.hpp.

◆ VEG_DOC_LOCATION

#define VEG_DOC_LOCATION   VEG_NOM_SEMICOLON

Definition at line 153 of file prologue.hpp.

◆ VEG_DOC_FN

#define VEG_DOC_FN   VEG_DOC_LOCATION; /* proxsuite::linalg::veg::@func */

Definition at line 155 of file prologue.hpp.

◆ VEG_DOC_CTOR

#define VEG_DOC_CTOR   VEG_DOC_LOCATION; /* proxsuite::linalg::veg::@ctor */

Definition at line 156 of file prologue.hpp.

◆ VEG_DOC_CLASS

#define VEG_DOC_CLASS   VEG_DOC_LOCATION; /* proxsuite::linalg::veg::@class */

Definition at line 157 of file prologue.hpp.