Barretenberg
The ZK-SNARK library at the core of Aztec
|
Namespaces | |
namespace | detail |
namespace | literals |
namespace | sfinae |
Classes | |
struct | convert |
struct | pair |
struct | tuple |
struct | tuple<> |
struct | tuple_elem |
struct | type_list |
Represents a list of types. More... | |
struct | type_map |
struct | unwrap_ref_decay |
struct | unwrap_reference |
struct | unwrap_reference< std::reference_wrapper< U > > |
Typedefs | |
template<class T > | |
using | unwrap_ref_decay_t = typename unwrap_ref_decay< T >::type |
template<class T > | |
using | identity_t = T |
template<class Tup , class B > | |
using | forward_as_t = typename ::tuplet::detail::_forward_as< Tup, B >::type |
template<class First , class... > | |
using | first_t = First |
template<class T > | |
using | type_t = typename T::type |
template<size_t I> | |
using | tag = std::integral_constant< size_t, I > |
template<size_t N> | |
using | tag_range = std::make_index_sequence< N > |
template<class Tup > | |
using | base_list_t = typename std::decay_t< Tup >::base_list |
template<class Tup > | |
using | element_list_t = typename std::decay_t< Tup >::element_list |
template<class... T> | |
using | tuple_base_t = typename detail::_get_tuple_base< tag_range< sizeof...(T)>, T... >::type |
Variables | |
template<size_t I> | |
constexpr tag< I > | tag_v {} |
template<class T > | |
constexpr bool | stateless_v = std::is_empty_v<std::decay_t<T>> |
template<class Tuple > | |
constexpr auto | base_list_tuple_v |
using tuplet::base_list_t = typedef typename std::decay_t<Tup>::base_list |
Definition at line 264 of file tuplet.hpp.
using tuplet::element_list_t = typedef typename std::decay_t<Tup>::element_list |
Definition at line 265 of file tuplet.hpp.
Definition at line 253 of file tuplet.hpp.
Takes a type B, and gives it the same "rvalue" status as Tup Used for forwarding values out of a tuple
Definition at line 251 of file tuplet.hpp.
using tuplet::identity_t = typedef T |
Definition at line 247 of file tuplet.hpp.
Definition at line 258 of file tuplet.hpp.
using tuplet::tag_range = typedef std::make_index_sequence<N> |
Definition at line 262 of file tuplet.hpp.
using tuplet::tuple_base_t = typedef typename detail::_get_tuple_base<tag_range<sizeof...(T)>, T...>::type |
Obtains a tuplet::type_map whose bases correspond to tuplet::tuple_elem<I, T>. Used as the base class for tuplet::tuple.
Definition at line 548 of file tuplet.hpp.
using tuplet::type_t = typedef typename T::type |
Definition at line 256 of file tuplet.hpp.
using tuplet::unwrap_ref_decay_t = typedef typename unwrap_ref_decay<T>::type |
Definition at line 245 of file tuplet.hpp.
Definition at line 1032 of file tuplet.hpp.
|
constexpr |
Definition at line 1045 of file tuplet.hpp.
|
constexpr |
Definition at line 1036 of file tuplet.hpp.
|
constexpr |
Definition at line 1041 of file tuplet.hpp.
|
constexprnoexcept |
Definition at line 1067 of file tuplet.hpp.
|
constexpr |
Definition at line 1021 of file tuplet.hpp.
|
constexpr |
Definition at line 1062 of file tuplet.hpp.
|
constexpr |
Convinience + operator for catenating type lists.
Definition at line 117 of file tuplet.hpp.
tuplet::pair | ( | A | , |
B | |||
) | -> pair< unwrap_ref_decay_t< A >, unwrap_ref_decay_t< B > > |
Definition at line 1057 of file tuplet.hpp.
|
noexcept |
Definition at line 1051 of file tuplet.hpp.
|
constexpr |
Definition at line 1026 of file tuplet.hpp.
|
private |
|
constexpr |
It appears that Clang produces better assembly when TUPLET_CAT_BY_FORWARDING_TUPLE == 0, while GCC produces better assembly when TUPLET_CAT_BY_FORWARDING_TUPLE == 1. MSVC always produces terrible assembly in either case. This will set TUPLET_CAT_BY_FORWARDING_TUPLE to the correct value (0 for clang, 1 for everyone else)
See: https://github.com/codeinred/tuplet/discussions/14
Definition at line 1101 of file tuplet.hpp.
Definition at line 320 of file tuplet.hpp.
|
constexpr |
Definition at line 267 of file tuplet.hpp.