Wire Sysio Wire Sysion 1.0.0
Loading...
Searching...
No Matches
utils.hpp File Reference
#include <cstdlib>
#include <functional>
#include <fstream>
#include <iostream>
#include <optional>
#include <string>
#include <memory>
#include <vector>
#include <cxxabi.h>
Include dependency graph for utils.hpp:

Go to the source code of this file.

Classes

struct  sysio::vm::overloaded< Ts >
 
struct  sysio::vm::maybe_void_t
 
struct  sysio::vm::scope_guard< F >
 
struct  sysio::vm::detail::subtuple_impl< N, I, std::tuple< T, Ts... > >
 
struct  sysio::vm::detail::subtuple_impl< N, N, std::tuple< T, Ts... > >
 
struct  sysio::vm::detail::generate_subtuples_impl< std::tuple< T, Ts... > >
 
struct  sysio::vm::detail::generate_all_subtuples_impl< std::tuple< T, Ts... > >
 
struct  sysio::vm::detail::generate_all_subtuples_impl< std::tuple<> >
 
struct  sysio::vm::detail::tuple_index< N >
 
struct  sysio::vm::detail::insert_type< N, I, Insert, Tuple >
 
struct  sysio::vm::detail::insert_type< N, I, Insert, Tuple< T, Ts... > >
 
struct  sysio::vm::detail::insert_type< N, N, Insert, Tuple< T, Ts... > >
 
struct  sysio::vm::detail::index_inserter< N, I, Tuple, Indices >
 
struct  sysio::vm::detail::tuple_trim< N, I, Tuple< T, Ts... > >
 
struct  sysio::vm::detail::tuple_trim< N, N, Tuple< T, Ts... > >
 

Namespaces

namespace  sysio
 
namespace  sysio::vm
 
namespace  sysio::vm::detail
 

Macros

#define LIKELY(x)
 
#define UNLIKELY(x)
 

Typedefs

template<size_t N, typename T >
using sysio::vm::detail::subtuple_t = typename subtuple_impl<N, 0, T>::type
 
template<typename T >
using sysio::vm::detail::generate_subtuples_t = decltype(generate_subtuples_impl<T>::value( std::make_index_sequence<std::tuple_size_v<T>>{} ))
 
template<size_t N, typename Insert , typename Tuple >
using sysio::vm::detail::insert_type_t = typename insert_type<N, 0, Insert, Tuple>::type
 
template<size_t N, typename Tuple , typename Indices >
using sysio::vm::detail::index_insert_t = decltype(index_inserter<N, 0, Tuple, Indices>::value())
 
template<typename Tuple , typename Indices >
using sysio::vm::detail::reorder_tuple_t = decltype(reorder_tuple<Tuple, Indices>(std::make_index_sequence<std::tuple_size_v<Indices>-1>{}))
 
template<typename Tuple >
using sysio::vm::generate_all_subtuples_t = decltype(detail::generate_all_subtuples(std::declval<Tuple>()))
 
template<typename Tuple >
using sysio::vm::tuple_sort_t = decltype(detail::tuple_sort<std::tuple_size_v<Tuple>-1, 0, Tuple, std::tuple<>>())
 
template<size_t N, typename Tuple >
using sysio::vm::tuple_trim_t = typename detail::tuple_trim<N, 0, Tuple>::type
 

Functions

std::vector< uint8_tsysio::vm::read_wasm (const std::string &fname)
 
template<typename StackElem >
void sysio::vm::print_result (const std::optional< StackElem > &result)
 
template<class... Ts>
 sysio::vm::overloaded (Ts...) -> overloaded< Ts... >
 
template<typename... T>
void sysio::vm::ignore_unused_variable_warning (T &...)
 
template<typename Tuple >
constexpr auto sysio::vm::detail::generate_all_subtuples (Tuple &&tup)
 
template<size_t I, typename Tuple , typename Indices >
constexpr auto sysio::vm::detail::get_tuple_size_from_index ()
 
template<size_t I, typename Tuple >
constexpr auto sysio::vm::detail::get_tuple_size ()
 
template<typename Tuple , typename Indices , size_t... Is>
constexpr auto sysio::vm::detail::reorder_tuple (std::index_sequence< Is... >)
 
template<size_t N, size_t I, typename Tuple , typename Indices >
constexpr auto sysio::vm::detail::tuple_sort ()
 

Variables

maybe_void_t sysio::vm::maybe_void
 

Macro Definition Documentation

◆ LIKELY

#define LIKELY ( x)
Value:
!!(x)

Definition at line 23 of file utils.hpp.

◆ UNLIKELY

#define UNLIKELY ( x)
Value:
!!(x)

Definition at line 24 of file utils.hpp.