Yume
Classes | Namespaces | Concepts | Macros | Typedefs | Functions
util.hpp File Reference
#include "diagnostic/source_location.hpp"
#include <array>
#include <cstddef>
#include <filesystem>
#include <llvm/Support/Casting.h>
#include <llvm/Support/FileSystem.h>
#include <llvm/Support/raw_ostream.h>
#include <memory>
#include <numbers>
#include <optional>
#include <set>
#include <span>
#include <sstream>
#include <string_view>
#include <tuple>
#include <type_traits>
#include <utility>
#include <variant>
#include <vector>
Include dependency graph for util.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  yume::visitable_variant< Ts >
 
struct  yume::StringLiteral< N >
 

Namespaces

namespace  yume
 

Concepts

concept  yume::visitable
 

Macros

#define YUME_ASSERT(assertion, message)   (static_cast<bool>(assertion) ? ((void)0) : yume_assert_failure(message))
 

Typedefs

template<typename T >
using yume::nullable = T
 
template<typename T >
using yume::nonnull = T
 

Functions

void yume::yume_assert_failure (const std::string_view log_msg={}, const source_location location=source_location::current()) noexcept
 
auto yume::open_file (nonnull< const char * > filename) -> unique_ptr< llvm::raw_pwrite_stream >
 Opens a writeable stream to a file with the given filename relative to the current working directory. More...
 
template<typename T >
static void yume::hash_combine (uint64_t &seed, const T &v)
 

Macro Definition Documentation

◆ YUME_ASSERT

#define YUME_ASSERT (   assertion,
  message 
)    (static_cast<bool>(assertion) ? ((void)0) : yume_assert_failure(message))

Definition at line 81 of file util.hpp.