Realm
A distributed, event-based tasking library
Loading...
Searching...
No Matches
utils.h File Reference
#include "realm/realm_config.h"
#include <string>
#include <ostream>
#include <vector>
#include <map>
#include <cassert>
#include <cstdint>
#include <sstream>
#include "realm/utils.inl"
Include dependency graph for utils.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  Realm::shortstringbuf< _INTERNAL_BUFFER_SIZE, _INITIAL_EXTERNAL_SIZE >
 
class  Realm::stringbuilder
 
class  Realm::DeferredConstructor< T >
 
struct  Realm::bitfield< _BITS, _SHIFT >
 
class  Realm::bitpack< T >
 
class  Realm::bitpack< T >::bitsliceref< BITFIELD >
 
class  Realm::bitpack< T >::constbitsliceref< BITFIELD >
 
class  Realm::PrettyVector< T >
 
class  Realm::span< T, dynamic_extent >
 
class  Realm::empty_span
 
class  Realm::noncopyable
 
class  Realm::RealmEntryExitRAII
 

Namespaces

namespace  Realm
 

Macros

#define REALM_SPIN_YIELD()
 
#define REALM_HASH_TOKEN(x)   Realm::hash_fnv1a(#x, sizeof(#x) - 1)
 
#define REALM_ENTRY_EXIT(logger)
 

Typedefs

typedef int Realm::OsHandle
 

Functions

constexpr uint64_t Realm::hash_fnv1a (const char *s, size_t n, const uint64_t value=0xcbf29ce484222325ULL) noexcept
 
constexpr size_t Realm::hash_combine (size_t lhs, size_t rhs) noexcept
 
template<typename T >
void Realm::delete_container_contents (std::vector< T * > &v, bool clear_cont=true)
 
template<typename K , typename V >
void Realm::delete_container_contents (std::map< K, V * > &m, bool clear_cont=true)
 
template<typename K , typename V >
void Realm::delete_container_contents_free (std::map< K, V * > &m, bool clear_cont=true)
 
template<typename T , typename T2 >
Realm::checked_cast (T2 *ptr)
 
template<typename T >
std::ostream & Realm::operator<< (std::ostream &os, const PrettyVector< T > &pv)
 
template<typename T >
span< T, dynamic_extentRealm::make_span (T *base, size_t length)
 
REALM_PUBLIC_API uint32_t Realm::crc32c_accumulate (uint32_t accum_in, const void *data, size_t len)
 
template<typename T >
void Realm::call_destructor (T *obj)
 
REALM_PUBLIC_API const char * Realm::realm_strerror (int err)
 
unsigned Realm::ctz (uint64_t v)
 
OsHandle Realm::ipc_mailbox_create (const std::string &name)
 Creates an ipc mailbox useful for sending and receiving other OSHandles between ranks on the same physical node.
 
bool Realm::ipc_mailbox_send (OsHandle mailbox, const std::string &to, const std::vector< OsHandle > &handles, const void *data, size_t data_sz)
 Send the handles and data given via the mailbox created by ipc_mailbox_create to the receiving mailbox given by to.
 
bool Realm::ipc_mailbox_recv (OsHandle mailbox, const std::string &from, std::vector< OsHandle > &handles, void *data, size_t &data_sz, size_t max_data_sz)
 Receive in handles and data via the mailbox created by ipc_mailbox_create from the sending mailbox given by from.
 
void Realm::close_handle (OsHandle handle)
 Close the given OS handle.
 

Variables

const size_t Realm::dynamic_extent = size_t(-1)
 

Macro Definition Documentation

◆ REALM_ENTRY_EXIT

#define REALM_ENTRY_EXIT (   logger)

◆ REALM_HASH_TOKEN

#define REALM_HASH_TOKEN (   x)    Realm::hash_fnv1a(#x, sizeof(#x) - 1)

◆ REALM_SPIN_YIELD

#define REALM_SPIN_YIELD ( )