proxsuite 0.6.7
The Advanced Proximal Optimization Toolbox
Loading...
Searching...
No Matches
proxsuite::linalg::veg::meta Namespace Reference

Namespaces

namespace  nb
 

Classes

struct  and_test
 
struct  and_test< index_sequence< Is... >, indexed< Is, true_type >... >
 
struct  apply_wrapper
 
struct  array_extent
 
struct  array_extent< T[N]>
 
struct  conjunction
 
struct  conjunction< First, Preds... >
 
struct  conjunction<>
 
struct  constant
 
struct  disjunction
 
struct  disjunction< First, Preds... >
 
struct  disjunction<>
 
struct  is_bounded_array
 
struct  is_bounded_array< T[N]>
 
struct  meta_apply
 
struct  or_test
 
struct  or_test< index_sequence< Is... >, indexed< Is, false_type >... >
 
struct  pack_size
 
struct  static_const
 
struct  type_identity
 

Typedefs

template<typename T , T N>
using make_integer_sequence = _detail::_meta::make_integer_sequence<T, N>*
 
template<usize N>
using make_index_sequence = _detail::_meta::make_integer_sequence<usize, N>*
 
template<typename T , T... Nums>
using integer_sequence = _detail::_meta::integer_sequence<T, Nums...>*
 
template<usize... Nums>
using index_sequence = integer_sequence<usize, Nums...>
 
template<typename... Ts>
using type_sequence = _detail::_meta::type_sequence<Ts...>*
 
template<usize Is, typename T >
using indexed = T
 
template<template< typename... F > class F, typename... Seqs>
using type_sequence_cat
 
template<template< typename... > class F, typename... Seqs>
using type_sequence_zip
 
template<template< typename... > class F, typename Seq >
using type_sequence_apply
 
template<typename... >
using void_t = void
 
template<bool B, typename T = void>
using enable_if_t
 
template<typename T >
using uncvref_t = typename _detail::_meta::uncvlref<T&>::type
 
template<bool B>
using bool_constant = constant<bool, B>
 
using true_type = bool_constant<true>
 
using false_type = bool_constant<false>
 
template<typename T >
using type_identity_t = typename type_identity<T>::type
 
template<bool B, typename T , typename F >
using if_t = typename _detail::_meta::conditional_<B>::template type<T, F>
 
template<typename T >
using unref_t = typename _detail::_meta::unref<T&>::type
 
template<typename T >
using unptr_t = typename _detail::_meta::is_pointer<T>::type
 
template<typename Default , template< typename... > class Op, typename... Args>
using detected_or_t
 
template<template< typename... > class Op, typename... Args>
using detected_t = detected_or_t<_detail::_meta::none, Op, Args...>
 
template<template< typename... > class Op, typename... Args>
using detected_return_t = detected_or_t<_detail::_meta::none, Op, Args...>
 
template<typename T >
using decay_t = typename _detail::_meta::decay_helper<uncvref_t<T>>::type
 
template<typename Fn , typename... Args>
using invoke_result_t
 

Functions

 VEG_NIEBLOID (is_consteval)
 
 VEG_NIEBLOID (unreachable)
 
 VEG_NIEBLOID (unreachable_if)
 

Typedef Documentation

◆ make_integer_sequence

◆ make_index_sequence

◆ integer_sequence

Definition at line 19 of file integer_seq.hpp.

◆ index_sequence

Definition at line 21 of file integer_seq.hpp.

◆ type_sequence

Definition at line 23 of file integer_seq.hpp.

◆ indexed

Definition at line 33 of file integer_seq.hpp.

◆ type_sequence_cat

template<template< typename... F > class F, typename... Seqs>
using proxsuite::linalg::veg::meta::type_sequence_cat
Initial value:
typename _detail::_meta::concat_type_seq<
bool_constant<VEG_ALL_OF(_detail::_meta::specializes<F, Seqs>::value)>,
F,
Seqs...>::type
#define VEG_ALL_OF(...)
Definition macros.hpp:177
constant< bool, B > bool_constant
Definition macros.hpp:900

Definition at line 172 of file integer_seq.hpp.

◆ type_sequence_zip

template<template< typename... > class F, typename... Seqs>
using proxsuite::linalg::veg::meta::type_sequence_zip
Initial value:
typename _detail::_meta::zip_type_seq<
meta::bool_constant<
VEG_ALL_OF(_detail::_meta::specializes<F, Seqs>::value) &&
all_same<
constant<usize, _detail::_meta::specialize_len<F, Seqs>::value>...>)>,
F,
Seqs...>::type
#define VEG_CONCEPT(...)
Definition macros.hpp:1243

Definition at line 178 of file integer_seq.hpp.

◆ type_sequence_apply

Initial value:
typename _detail::_meta::apply_type_seq<F, Seq>::type

Definition at line 188 of file integer_seq.hpp.

◆ void_t

template<typename... >
using proxsuite::linalg::veg::meta::void_t = void

Definition at line 611 of file macros.hpp.

◆ enable_if_t

Initial value:
_detail::_meta::discard_1st<typename _detail::_meta::enable_if<B, void>::type,
T>

Definition at line 882 of file macros.hpp.

◆ uncvref_t

◆ bool_constant

Definition at line 900 of file macros.hpp.

◆ true_type

◆ false_type

◆ type_identity_t

Definition at line 80 of file core.hpp.

◆ if_t

Definition at line 83 of file core.hpp.

◆ unref_t

Definition at line 268 of file core.hpp.

◆ unptr_t

◆ detected_or_t

template<typename Default , template< typename... > class Op, typename... Args>
using proxsuite::linalg::veg::meta::detected_or_t
Initial value:
typename meta::if_t<VEG_CONCEPT(detected<Op, Args...>),
meta::meta_apply<Op, Args...>,
meta::type_identity<Default>>::type

Definition at line 273 of file core.hpp.

◆ detected_t

template<template< typename... > class Op, typename... Args>
using proxsuite::linalg::veg::meta::detected_t = detected_or_t<_detail::_meta::none, Op, Args...>

Definition at line 278 of file core.hpp.

◆ detected_return_t

template<template< typename... > class Op, typename... Args>
using proxsuite::linalg::veg::meta::detected_return_t = detected_or_t<_detail::_meta::none, Op, Args...>

Definition at line 285 of file core.hpp.

◆ decay_t

◆ invoke_result_t

Initial value:
meta::detected_t<_detail::_meta::call_expr, Fn&&, Args&&...>

Definition at line 19 of file invocable.hpp.

Function Documentation

◆ VEG_NIEBLOID() [1/3]

proxsuite::linalg::veg::meta::VEG_NIEBLOID ( is_consteval )

◆ VEG_NIEBLOID() [2/3]

proxsuite::linalg::veg::meta::VEG_NIEBLOID ( unreachable )

◆ VEG_NIEBLOID() [3/3]

proxsuite::linalg::veg::meta::VEG_NIEBLOID ( unreachable_if )