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

Go to the source code of this file.

Classes

struct  proxsuite::linalg::veg::_detail::binary_traits< L, R >
 
struct  proxsuite::linalg::veg::_detail::idx::adl::IdxBase< T >
 
struct  proxsuite::linalg::veg::_detail::_meta::is_fix< T >
 
struct  proxsuite::linalg::veg::_detail::_meta::is_fix< Fix< N > >
 
struct  proxsuite::linalg::veg::Boolean< T >
 
struct  proxsuite::linalg::veg::Fix< N >
 
struct  proxsuite::linalg::veg::_detail::Error
 
struct  proxsuite::linalg::veg::_detail::char_seq< Chars >
 
struct  proxsuite::linalg::veg::_detail::binary_traits< Fix< N >, Fix< M > >
 

Namespaces

namespace  proxsuite
 
namespace  proxsuite::linalg
 
namespace  proxsuite::linalg::veg
 
namespace  proxsuite::linalg::veg::_detail
 
namespace  proxsuite::linalg::veg::_detail::idx
 
namespace  proxsuite::linalg::veg::_detail::idx::adl
 
namespace  proxsuite::linalg::veg::_detail::_meta
 
namespace  proxsuite::linalg::veg::concepts
 
namespace  proxsuite::linalg::veg::literals
 

Macros

#define VEG_OP(Op, Name, TypeName)
 
#define VEG_CMP(Name, TypeName, Op)
 
#define VEG_OP(Name, TypeName, Op)
 
#define VEG_CMP(Name, TypeName, Op)
 

Typedefs

using proxsuite::linalg::veg::no_c = meta::constant<Ternary, Ternary::no>
 
using proxsuite::linalg::veg::maybe_c = meta::constant<Ternary, Ternary::maybe>
 
using proxsuite::linalg::veg::yes_c = meta::constant<Ternary, Ternary::yes>
 
using proxsuite::linalg::veg::_detail::parser = auto (*)(char, Error) -> u64
 

Enumerations

enum struct  proxsuite::linalg::veg::Ternary : unsigned char { proxsuite::linalg::veg::no , proxsuite::linalg::veg::maybe , proxsuite::linalg::veg::yes }
 

Functions

 proxsuite::linalg::veg::concepts::VEG_DEF_CONCEPT (typename T, index, VEG_CONCEPT(same< T, Dyn >)||_detail::_meta::is_fix< T >::value)
 
constexpr auto proxsuite::linalg::veg::_detail::parse_digit_2 (char c, Error e) VEG_NOEXCEPT -> u64
 
constexpr auto proxsuite::linalg::veg::_detail::parse_digit_8 (char c, Error e) VEG_NOEXCEPT -> u64
 
constexpr auto proxsuite::linalg::veg::_detail::parse_digit_10 (char c, Error e) VEG_NOEXCEPT -> u64
 
constexpr auto proxsuite::linalg::veg::_detail::parse_digit_16 (char c, Error e) VEG_NOEXCEPT -> u64
 
constexpr auto proxsuite::linalg::veg::_detail::parse_digit (u64 radix) VEG_NOEXCEPT -> parser
 
constexpr auto proxsuite::linalg::veg::_detail::parse_num (char const *str, u64 len, u64 radix, Error e) VEG_NOEXCEPT -> u64
 
constexpr auto proxsuite::linalg::veg::_detail::parse_int (char const *str, u64 len, Error e) VEG_NOEXCEPT -> u64
 
template<char... Chars>
VEG_INLINE constexpr auto proxsuite::linalg::veg::literals::operator""_c () VEG_NOEXCEPT
 

Variables

constexpr auto proxsuite::linalg::veg::no = Ternary::no
 
constexpr auto proxsuite::linalg::veg::maybe = Ternary::maybe
 
constexpr auto proxsuite::linalg::veg::yes = Ternary::yes
 

Macro Definition Documentation

◆ VEG_OP [1/2]

#define VEG_OP ( Op,
Name,
TypeName )
Value:
VEG_TEMPLATE((typename R), \
requires(VEG_CONCEPT(index<R>)), \
VEG_NODISCARD VEG_INLINE constexpr auto \
operator Op, \
(b, R)) \
const VEG_NOEXCEPT->typename _detail::binary_traits<Fix, R>::TypeName \
{ \
return _detail::binary_traits<Fix, R>::Name##_fn(*this, b); \
} \
#define VEG_CONCEPT(...)
Definition macros.hpp:1243
#define VEG_TEMPLATE(TParams, Constraint, Attr_Name,...)
Definition macros.hpp:385
#define VEG_INLINE
Definition macros.hpp:118
#define VEG_NOM_SEMICOLON
Definition macros.hpp:600
#define VEG_NODISCARD
Definition prologue.hpp:97
#define VEG_NOEXCEPT
Definition prologue.hpp:30

Definition at line 123 of file fix_index.hpp.

◆ VEG_CMP [1/2]

#define VEG_CMP ( Name,
TypeName,
Op )
Value:
VEG_TEMPLATE((typename R), \
requires(VEG_CONCEPT(index<R>)), \
VEG_NODISCARD VEG_INLINE constexpr auto \
operator Op, /* NOLINT */ \
(b, R)) \
const VEG_NOEXCEPT->typename _detail::binary_traits<Fix, R>::TypeName \
{ \
return _detail::binary_traits<Fix, R>::cmp_##Name##_fn(*this, b); \
} \

Definition at line 165 of file fix_index.hpp.

◆ VEG_OP [2/2]

#define VEG_OP ( Name,
TypeName,
Op )
Value:
using TypeName /* NOLINT(bugprone-macro-parentheses) */ = \
Fix<isize(usize(isize{ N }) Op usize(isize{ M }))>; \
VEG_NODISCARD VEG_INLINE static constexpr auto Name##_fn(Fix<N>, Fix<M>) \
VEG_NOEXCEPT->TypeName \
{ \
return {}; \
} \
static_assert(true, "")

Definition at line 123 of file fix_index.hpp.

◆ VEG_CMP [2/2]

#define VEG_CMP ( Name,
TypeName,
Op )
Value:
using TypeName /* NOLINT(bugprone-macro-parentheses) */ = \
Boolean<(N Op M) ? yes : no>; \
VEG_NODISCARD VEG_INLINE static constexpr auto Name##_fn(Fix<N>, Fix<M>) \
VEG_NOEXCEPT->TypeName \
{ \
return {}; \
} \
static_assert(true, "")

Definition at line 165 of file fix_index.hpp.