ttg::detail Namespace Reference

Classes

struct  default_keymap_impl
 
struct  default_keymap_impl< keyT, std::enable_if_t< meta::has_ttg_hash_specialization_v< keyT >||meta::is_void_v< keyT > > >
 
struct  default_priomap_impl
 the default priority map implementation More...
 
struct  edges_tuple
 
struct  edges_tuple< keyT, std::tuple< valuesT... > >
 
struct  value_copy_handler
 
struct  value_copy_handler< ttg::Runtime::PaRSEC >
 
class  boost_optimized_oarchive
 optimized data-only serializer More...
 
class  boost_optimized_iarchive
 optimized data-only deserializer for boost_optimized_oarchive More...
 
struct  is_boost_array_serializable
 
struct  is_boost_array_serializable< Archive, T >
 
struct  is_boost_serializable
 
struct  is_boost_default_serializable
 
struct  is_boost_buffer_serializable
 
struct  is_boost_default_buffer_serializable
 
struct  is_madness_output_serializable
 
struct  is_madness_input_serializable
 
struct  is_madness_buffer_serializable
 
struct  is_madness_user_buffer_serializable
 
class  counting_streambuf
 streambuf that counts bytes More...
 
class  iovec_ostreambuf
 streambuf that records vector of address-size pairs More...
 
class  iovec_istreambuf
 streambuf that reads vector of address-size pairs More...
 
class  byte_ostreambuf
 streambuf that writes bytes to a buffer in memory More...
 
class  byte_istreambuf
 streambuf that writes bytes to a buffer in memory More...
 
struct  is_printable
 
struct  is_printable< T, std::void_t< decltype(std::declval< std::ostream & >()<< std::declval< T >())> >
 
struct  printer_helper
 
struct  printer_helper< T, std::enable_if_t< is_printable< T >::value > >
 
struct  is_user_buffer_serializable
 is_user_buffer_serializable<T> evaluates to true if T can be serialized to a buffer using user-provided methods More...
 
struct  is_user_buffer_serializable< T, std::enable_if_t< is_madness_user_buffer_serializable_v< T >||is_boost_user_buffer_serializable_v< T > > >
 
struct  is_memcpyable
 reports whether objects of type T are safe to std::memcpy More...
 
struct  ContainerWrapper
 
struct  ContainerWrapper< void, valueT >
 
struct  ContainerWrapper< keyT, void >
 
struct  ContainerWrapper< ttg::Void, valueT >
 
struct  ContainerWrapper< void, void >
 
struct  input_terminals_tuple
 
struct  input_terminals_tuple< keyT, std::tuple< valuesT... > >
 
class  Traverse
 Traverses a graph of TTs in depth-first manner following out edges. More...
 
class  Backtrace
 
class  MemoryWatchpoint_x86_64
 MemoryWatchpoint represents a hardware watchpoint for a memory location Implements a memory watchpoint on x86 ... only implemented for macOS so far this is a slightly tweaked version of https://m.habrahabr.ru/post/103073/ see also http://www.sandpile.org/x86/drx.htm for the x86 debugging register map. More...
 
class  FNVhasher
 byte-wise hasher More...
 
struct  hash_combine_impl
 combines 2 hash values; implementation based on boost::hash_combine_impl<64> from Boost v1.79.0 More...
 
struct  scope_exit
 
struct  default_keymap
 
struct  default_priomap
 

Typedefs

template<typename keyT , typename valuesT >
using edges_tuple_t = typename edges_tuple< keyT, valuesT >::type
 
using boost_counting_oarchive = boost_optimized_oarchive< counting_streambuf >
 an archive that counts the size of serialized representation of an object More...
 
using boost_iovec_oarchive = boost_optimized_oarchive< iovec_ostreambuf >
 an archive that constructs an IOVEC (= sequence of {pointer,size} pairs) representation of an object More...
 
using boost_buffer_oarchive = boost_optimized_oarchive< boost::iostreams::stream< boost::iostreams::basic_array_sink< char > >>
 an archive that constructs serialized representation of an object in a memory buffer More...
 
using boost_byte_oarchive = boost_optimized_oarchive< byte_ostreambuf >
 an archive that constructs serialized representation of an object in a memory buffer, in an optimized manner More...
 
using boost_iovec_iarchive = boost_optimized_iarchive< iovec_istreambuf >
 the deserializer for boost_iovec_oarchive More...
 
using boost_buffer_iarchive = boost_optimized_iarchive< boost::iostreams::stream< boost::iostreams::basic_array_source< char > >>
 the deserializer for boost_buffer_oarchive More...
 
using boost_byte_iarchive = boost_optimized_iarchive< byte_istreambuf >
 the deserializer for boost_byte_oarchive More...
 
template<typename T , typename Archive >
using has_member_serialize_t = decltype(std::declval< T & >().serialize(std::declval< Archive & >()))
 
template<typename T , typename Archive >
using has_member_serialize_with_version_t = decltype(std::declval< T & >().serialize(std::declval< Archive & >(), 0u))
 
template<typename T , typename Archive >
using has_member_load_t = decltype(std::declval< T & >().load(std::declval< Archive & >()))
 
template<typename T , typename Archive >
using has_member_load_with_version_t = decltype(std::declval< T & >().load(std::declval< Archive & >(), 0u))
 
template<typename T , typename Archive >
using has_member_save_t = decltype(std::declval< T & >().save(std::declval< Archive & >()))
 
template<typename T , typename Archive >
using has_member_save_with_version_t = decltype(std::declval< T & >().save(std::declval< Archive & >(), 0u))
 
template<typename T , typename Archive >
using has_freestanding_serialize_t = decltype(serialize(std::declval< Archive & >(), std::declval< T & >()))
 
template<typename T , typename Archive >
using has_freestanding_serialize_with_version_t = decltype(serialize(std::declval< Archive & >(), std::declval< T & >(), 0u))
 
template<typename T , typename Archive >
using has_freestanding_boost_serialize_with_version_t = decltype(serialize(std::declval< Archive & >(), std::declval< T & >(), boost::serialization::version_as_adl_tag))
 
template<typename keyT , typename... valuesT>
using input_terminals_tuple_t = typename input_terminals_tuple< keyT, valuesT... >::type
 

Enumerations

enum class  StdOstreamTag { Cout , Cerr }
 

Functions

bool & tt_base_trace_accessor (void)
 
bool & op_base_lazy_pull_accessor (void)
 
void register_world (ttg::base::WorldImplBase &world)
 
void deregister_world (ttg::base::WorldImplBase &world)
 
void destroy_worlds (void)
 
const char * execution_space_name (ExecutionSpace space) noexcept
 
template<typename keyT , typename valueT >
auto get_out_terminal (size_t i, const char *func)
 
template<typename keyT >
auto get_out_base_terminal (size_t i, const char *func)
 
template<size_t KeyId, size_t i, size_t... I, typename... RangesT, typename valueT , typename... out_keysT, typename... out_valuesT>
void broadcast (const std::tuple< RangesT... > &keylists, valueT &&value, std::tuple< ttg::Out< out_keysT, out_valuesT >... > &t)
 
template<size_t KeyId, size_t i, size_t... I, typename... RangesT, typename valueT >
void broadcast (const std::tuple< RangesT... > &keylists, valueT &&value)
 
template<size_t KeyId, size_t i, size_t... I, typename... RangesT, typename... out_keysT, typename... out_valuesT>
void broadcast (const std::tuple< RangesT... > &keylists, std::tuple< ttg::Out< out_keysT, out_valuesT >... > &t)
 
template<size_t KeyId, size_t i, size_t... I, typename... RangesT>
void broadcast (const std::tuple< RangesT... > &keylists)
 
template<typename Archive , typename T >
void oarchive_save_override_optimized_dispatch (Archive &ar, const T &t)
 
template<typename Archive , typename T >
void iarchive_load_override_optimized_dispatch (Archive &ar, T &t)
 
auto make_boost_buffer_oarchive (void *const buf, std::size_t size, std::size_t buf_offset=0)
 constructs a boost_buffer_oarchive object More...
 
template<std::size_t N>
auto make_boost_buffer_oarchive (char(&buf)[N], std::size_t buf_offset=0)
 constructs a boost_buffer_oarchive object More...
 
auto make_boost_buffer_iarchive (const void *const buf, std::size_t size, std::size_t buf_offset=0)
 constructs a boost_buffer_iarchive object More...
 
template<std::size_t N>
auto make_boost_buffer_iarchive (const char(&buf)[N], std::size_t buf_offset=0)
 constructs a boost_buffer_iarchive object More...
 
bool & diagnose_accessor ()
 
int num_threads ()
 Determine the number of compute threads to use by TTG when not given to ttg::initialize More...
 
bool force_device_comm ()
 
std::ostream & print_helper (std::ostream &out)
 
template<typename T , typename... Ts>
std::ostream & print_helper (std::ostream &out, const T &t, const Ts &... ts)
 
template<StdOstreamTag >
std::mutex & print_mutex_accessor ()
 
template<typename EF >
auto make_scope_exit (EF &&exit_function)
 
bool & trace_accessor ()
 
template<std::size_t... Is>
auto make_void_tuple (std::index_sequence< Is... >)
 
template<std::size_t N>
auto make_void_tuple ()
 
template<typename WorldT >
WorldT & default_world_accessor ()
 
template<typename WorldT >
void set_default_world (WorldT &world)
 
template<typename WorldT >
void set_default_world (WorldT &&world)
 
template<typename WorldImplT >
std::list< WorldImplT * > & world_registry_accessor ()
 
template<typename WorldImplT >
void register_world (WorldImplT &world)
 
template<typename WorldImplT >
void deregister_world (WorldImplT &world)
 

Variables

template<typename T >
constexpr bool is_boost_archive_v = false
 
template<typename T >
constexpr bool is_boost_input_archive_v = false
 
template<typename T >
constexpr bool is_boost_output_archive_v = false
 
template<typename T >
constexpr bool is_boost_buffer_serializable_v = is_boost_buffer_serializable<T>::value
 evaluates to true if can serialize T to/from buffer using Boost serialization More...
 
template<typename T >
constexpr bool is_boost_default_buffer_serializable_v = is_boost_default_buffer_serializable<T>::value
 evaluates to true if can serialize T to/from buffer using default Boost serialization More...
 
template<typename T >
constexpr bool is_boost_user_buffer_serializable_v
 evaluates to true if can serialize T to/from buffer using user-provided Boost serialization More...
 
template<typename T >
constexpr bool is_madness_archive_v = false
 
template<typename T >
constexpr bool is_madness_input_archive_v = false
 
template<typename T >
constexpr bool is_madness_output_archive_v = false
 
template<typename T >
constexpr bool is_madness_buffer_serializable_v = is_madness_buffer_serializable<T>::value
 evaluates to true if can serialize T to/from buffer using MADNESS serialization More...
 
template<typename T >
constexpr bool is_madness_user_buffer_serializable_v = is_madness_user_buffer_serializable<T>::value
 evaluates to true if can serialize T to/from buffer using user-provided MADNESS serialization More...
 
template<typename T , typename Archive >
constexpr bool has_member_serialize_v = ttg::meta::is_detected_v<has_member_serialize_t, T, Archive>
 
template<typename T , typename Archive >
constexpr bool has_member_serialize_with_version_v
 
template<typename T , typename Archive >
constexpr bool has_member_load_with_version_v
 
template<typename T , typename Archive >
constexpr bool has_member_save_with_version_v
 
template<typename T , typename Archive >
constexpr bool has_freestanding_serialize_v
 
template<typename T , typename Archive >
constexpr bool has_freestanding_serialize_with_version_v
 
template<typename T , typename Archive >
constexpr bool has_freestanding_boost_serialize_with_version_v
 
template<typename T , typename Enabler = void>
constexpr bool is_archive_v = false
 
template<typename T , typename Enabler >
constexpr bool is_input_archive_v = false
 
template<typename T , typename Enabler = void>
constexpr bool is_output_archive_v = false
 
template<typename T >
constexpr bool is_user_buffer_serializable_v = is_user_buffer_serializable<T>::value
 
template<typename T >
constexpr bool is_memcpyable_override_v = std::is_trivially_copyable_v<T>
 can be used to override the default value of is_memcpyable<T>::value More...
 
template<typename T >
constexpr bool is_memcpyable_v = is_memcpyable<T>::value
 

Typedef Documentation

◆ boost_buffer_iarchive

using ttg::detail::boost_buffer_iarchive = typedef boost_optimized_iarchive<boost::iostreams::stream<boost::iostreams::basic_array_source<char> >>

the deserializer for boost_buffer_oarchive

Definition at line 378 of file archive.h.

◆ boost_buffer_oarchive

using ttg::detail::boost_buffer_oarchive = typedef boost_optimized_oarchive<boost::iostreams::stream<boost::iostreams::basic_array_sink<char> >>

an archive that constructs serialized representation of an object in a memory buffer

Definition at line 218 of file archive.h.

◆ boost_byte_iarchive

the deserializer for boost_byte_oarchive

Definition at line 382 of file archive.h.

◆ boost_byte_oarchive

an archive that constructs serialized representation of an object in a memory buffer, in an optimized manner

Definition at line 222 of file archive.h.

◆ boost_counting_oarchive

an archive that counts the size of serialized representation of an object

Definition at line 212 of file archive.h.

◆ boost_iovec_iarchive

the deserializer for boost_iovec_oarchive

Definition at line 375 of file archive.h.

◆ boost_iovec_oarchive

an archive that constructs an IOVEC (= sequence of {pointer,size} pairs) representation of an object

Definition at line 215 of file archive.h.

◆ edges_tuple_t

template<typename keyT , typename valuesT >
using ttg::detail::edges_tuple_t = typedef typename edges_tuple<keyT, valuesT>::type

Definition at line 191 of file edge.h.

◆ has_freestanding_boost_serialize_with_version_t

template<typename T , typename Archive >
using ttg::detail::has_freestanding_boost_serialize_with_version_t = typedef decltype(serialize(std::declval<Archive&>(), std::declval<T&>(), boost::serialization::version_as_adl_tag))

helps to detect that T supports freestanding boost::serialization::serialize function that accepts version

Note
use in combination with ttg::meta::is_detected_v

Definition at line 74 of file traits.h.

◆ has_freestanding_serialize_t

template<typename T , typename Archive >
using ttg::detail::has_freestanding_serialize_t = typedef decltype(serialize(std::declval<Archive&>(), std::declval<T&>()))

helps to detect that T supports freestanding serialize function discoverable by ADL

Note
use in combination with std::is_detected_v or ttg::meta::is_detected_v

Definition at line 63 of file traits.h.

◆ has_freestanding_serialize_with_version_t

template<typename T , typename Archive >
using ttg::detail::has_freestanding_serialize_with_version_t = typedef decltype(serialize(std::declval<Archive&>(), std::declval<T&>(), 0u))

helps to detect that T supports freestanding serialize function discoverable by ADL that accepts version

Note
use in combination with ttg::meta::is_detected_v

Definition at line 68 of file traits.h.

◆ has_member_load_t

template<typename T , typename Archive >
using ttg::detail::has_member_load_t = typedef decltype(std::declval<T&>().load(std::declval<Archive&>()))

helps to detect that T has a member serialization method that accepts single argument of type Archive

Note
use in combination with ttg::meta::is_detected_v

Definition at line 40 of file traits.h.

◆ has_member_load_with_version_t

template<typename T , typename Archive >
using ttg::detail::has_member_load_with_version_t = typedef decltype(std::declval<T&>().load(std::declval<Archive&>(), 0u))

helps to detect that T has a member serialization method that accepts one argument of type Archive and an unsigned version

Note
use in combination with ttg::meta::is_detected_v

Definition at line 46 of file traits.h.

◆ has_member_save_t

template<typename T , typename Archive >
using ttg::detail::has_member_save_t = typedef decltype(std::declval<T&>().save(std::declval<Archive&>()))

helps to detect that T has a member serialization method that accepts single argument of type Archive

Note
use in combination with ttg::meta::is_detected_v

Definition at line 52 of file traits.h.

◆ has_member_save_with_version_t

template<typename T , typename Archive >
using ttg::detail::has_member_save_with_version_t = typedef decltype(std::declval<T&>().save(std::declval<Archive&>(), 0u))

helps to detect that T has a member serialization method that accepts one argument of type Archive and an unsigned version

Note
use in combination with ttg::meta::is_detected_v

Definition at line 58 of file traits.h.

◆ has_member_serialize_t

template<typename T , typename Archive >
using ttg::detail::has_member_serialize_t = typedef decltype(std::declval<T&>().serialize(std::declval<Archive&>()))

helps to detect that T has a member serialization method that accepts single argument of type Archive

Note
use in combination with ttg::meta::is_detected_v

Definition at line 28 of file traits.h.

◆ has_member_serialize_with_version_t

template<typename T , typename Archive >
using ttg::detail::has_member_serialize_with_version_t = typedef decltype(std::declval<T&>().serialize(std::declval<Archive&>(), 0u))

helps to detect that T has a member serialization method that accepts one argument of type Archive and an unsigned version

Note
use in combination with ttg::meta::is_detected_v

Definition at line 34 of file traits.h.

◆ input_terminals_tuple_t

template<typename keyT , typename... valuesT>
using ttg::detail::input_terminals_tuple_t = typedef typename input_terminals_tuple<keyT, valuesT...>::type

Definition at line 354 of file terminal.h.

Enumeration Type Documentation

◆ StdOstreamTag

Enumerator
Cout 
Cerr 

Definition at line 120 of file print.h.

Function Documentation

◆ broadcast() [1/4]

template<size_t KeyId, size_t i, size_t... I, typename... RangesT>
void ttg::detail::broadcast ( const std::tuple< RangesT... > &  keylists)
inline

Definition at line 394 of file func.h.

◆ broadcast() [2/4]

template<size_t KeyId, size_t i, size_t... I, typename... RangesT, typename... out_keysT, typename... out_valuesT>
void ttg::detail::broadcast ( const std::tuple< RangesT... > &  keylists,
std::tuple< ttg::Out< out_keysT, out_valuesT >... > &  t 
)
inline

Definition at line 380 of file func.h.

◆ broadcast() [3/4]

template<size_t KeyId, size_t i, size_t... I, typename... RangesT, typename valueT >
void ttg::detail::broadcast ( const std::tuple< RangesT... > &  keylists,
valueT &&  value 
)
inline

Definition at line 362 of file func.h.

◆ broadcast() [4/4]

template<size_t KeyId, size_t i, size_t... I, typename... RangesT, typename valueT , typename... out_keysT, typename... out_valuesT>
void ttg::detail::broadcast ( const std::tuple< RangesT... > &  keylists,
valueT &&  value,
std::tuple< ttg::Out< out_keysT, out_valuesT >... > &  t 
)
inline

Definition at line 347 of file func.h.

◆ default_world_accessor()

template<typename WorldT >
WorldT& ttg::detail::default_world_accessor ( )

Definition at line 23 of file world.h.

◆ deregister_world() [1/2]

void ttg::detail::deregister_world ( ttg::base::WorldImplBase world)

◆ deregister_world() [2/2]

template<typename WorldImplT >
void ttg::detail::deregister_world ( WorldImplT &  world)

Definition at line 61 of file world.h.

◆ destroy_worlds()

void ttg::detail::destroy_worlds ( void  )

Definition at line 70 of file world.h.

◆ diagnose_accessor()

bool& ttg::detail::diagnose_accessor ( )
inline

Definition at line 6 of file diagnose.h.

◆ execution_space_name()

const char* ttg::detail::execution_space_name ( ExecutionSpace  space)
inlinenoexcept

Definition at line 26 of file execution.h.

◆ force_device_comm()

bool ttg::detail::force_device_comm ( )

Override whether TTG should attempt to communicate to and from device buffers. TTG will attempt to query device support from the underlying MPI implementation (e.g., using the unofficial extension MPIX_Query_cuda_support). However, since not all MPI implementations support this extension, users can force the use of device buffers in communication by setting TTG_FORCE_DEVICE_COMM to a non-negative number.

Returns
true if the user wants to force the use of device-side buffers in communication.

Definition at line 33 of file env.cpp.

◆ get_out_base_terminal()

template<typename keyT >
auto ttg::detail::get_out_base_terminal ( size_t  i,
const char *  func 
)
inline

Definition at line 51 of file func.h.

◆ get_out_terminal()

template<typename keyT , typename valueT >
auto ttg::detail::get_out_terminal ( size_t  i,
const char *  func 
)
inline

Definition at line 29 of file func.h.

◆ iarchive_load_override_optimized_dispatch()

template<typename Archive , typename T >
void ttg::detail::iarchive_load_override_optimized_dispatch ( Archive &  ar,
T &  t 
)

Definition at line 48 of file archive.h.

◆ make_boost_buffer_iarchive() [1/2]

template<std::size_t N>
auto ttg::detail::make_boost_buffer_iarchive ( const char(&)  buf[N],
std::size_t  buf_offset = 0 
)
inline

constructs a boost_buffer_iarchive object

Template Parameters
Narray size
Parameters
[in]bufa buffer from which serialized representation will be read
[in]buf_offsetif non-zero, specifies the first byte of buf from which data will be read
Returns
a boost_buffer_iarchive object referring to buf

Definition at line 402 of file archive.h.

◆ make_boost_buffer_iarchive() [2/2]

auto ttg::detail::make_boost_buffer_iarchive ( const void *const  buf,
std::size_t  size,
std::size_t  buf_offset = 0 
)
inline

constructs a boost_buffer_iarchive object

Parameters
[in]bufpointer to a memory buffer from which serialized representation will be read
[in]sizethe size of the buffer, in bytes
[in]buf_offsetif non-zero, specifies the first byte of buf from which data will be read
Returns
a boost_buffer_iarchive object referring to buf

Definition at line 390 of file archive.h.

◆ make_boost_buffer_oarchive() [1/2]

template<std::size_t N>
auto ttg::detail::make_boost_buffer_oarchive ( char(&)  buf[N],
std::size_t  buf_offset = 0 
)
inline

constructs a boost_buffer_oarchive object

Template Parameters
Narray size
Parameters
[in]bufa buffer to which serialized representation will be written
[in]buf_offsetif non-zero, specifies the first byte of buf to which data will be written
Returns
a boost_buffer_oarchive object referring to buf

Definition at line 242 of file archive.h.

◆ make_boost_buffer_oarchive() [2/2]

auto ttg::detail::make_boost_buffer_oarchive ( void *const  buf,
std::size_t  size,
std::size_t  buf_offset = 0 
)
inline

constructs a boost_buffer_oarchive object

Parameters
[in]bufpointer to a memory buffer to which serialized representation will be written
[in]sizethe size of the buffer, in bytes
[in]buf_offsetif non-zero, specifies the first byte of buf to which data will be written
Returns
a boost_buffer_oarchive object referring to buf

Definition at line 230 of file archive.h.

◆ make_scope_exit()

template<typename EF >
auto ttg::detail::make_scope_exit ( EF &&  exit_function)

Definition at line 51 of file scope_exit.h.

◆ make_void_tuple() [1/2]

template<std::size_t N>
auto ttg::detail::make_void_tuple ( )

Definition at line 36 of file void.h.

◆ make_void_tuple() [2/2]

template<std::size_t... Is>
auto ttg::detail::make_void_tuple ( std::index_sequence< Is... >  )

Definition at line 30 of file void.h.

◆ num_threads()

int ttg::detail::num_threads ( )

Determine the number of compute threads to use by TTG when not given to ttg::initialize

The number of threads is queried from the environment variable TTG_NUM_THREADS; if not given, then std::thread::hardware_concurrency is used.

Returns
the number of threads to use by TTG
Postcondition
num_threads()>0

Definition at line 15 of file env.cpp.

◆ oarchive_save_override_optimized_dispatch()

template<typename Archive , typename T >
void ttg::detail::oarchive_save_override_optimized_dispatch ( Archive &  ar,
const T &  t 
)

Definition at line 23 of file archive.h.

◆ op_base_lazy_pull_accessor()

bool& ttg::detail::op_base_lazy_pull_accessor ( void  )
inline

Definition at line 23 of file tt.h.

◆ print_helper() [1/2]

std::ostream& ttg::detail::print_helper ( std::ostream &  out)
inline

Definition at line 112 of file print.h.

◆ print_helper() [2/2]

template<typename T , typename... Ts>
std::ostream& ttg::detail::print_helper ( std::ostream &  out,
const T &  t,
const Ts &...  ts 
)
inline

Definition at line 114 of file print.h.

◆ print_mutex_accessor()

template<StdOstreamTag >
std::mutex& ttg::detail::print_mutex_accessor ( )
inline

Definition at line 122 of file print.h.

◆ register_world() [1/2]

void ttg::detail::register_world ( ttg::base::WorldImplBase world)

◆ register_world() [2/2]

template<typename WorldImplT >
void ttg::detail::register_world ( WorldImplT &  world)

Definition at line 55 of file world.h.

◆ set_default_world() [1/2]

template<typename WorldT >
void ttg::detail::set_default_world ( WorldT &&  world)
inline

Definition at line 31 of file world.h.

◆ set_default_world() [2/2]

template<typename WorldT >
void ttg::detail::set_default_world ( WorldT &  world)
inline

Definition at line 29 of file world.h.

◆ trace_accessor()

bool& ttg::detail::trace_accessor ( )
inline

Definition at line 8 of file trace.h.

◆ tt_base_trace_accessor()

bool& ttg::detail::tt_base_trace_accessor ( void  )
inline

Definition at line 18 of file tt.h.

◆ world_registry_accessor()

template<typename WorldImplT >
std::list<WorldImplT*>& ttg::detail::world_registry_accessor ( )

Definition at line 48 of file world.h.

Variable Documentation

◆ has_freestanding_boost_serialize_with_version_v

template<typename T , typename Archive >
constexpr bool ttg::detail::has_freestanding_boost_serialize_with_version_v
inlineconstexpr
Initial value:
=
ttg::meta::is_detected_v<has_freestanding_boost_serialize_with_version_t, T, Archive>

true if this is well-formed:

// T t; Archive ar;
boost::serialization::serialize(ar, t, 0u);

Definition at line 136 of file traits.h.

◆ has_freestanding_serialize_v

template<typename T , typename Archive >
constexpr bool ttg::detail::has_freestanding_serialize_v
inlineconstexpr
Initial value:
=
ttg::meta::is_detected_v<has_freestanding_serialize_t, T, Archive>

true if this is well-formed:

// T t; Archive ar;
serialize(ar, t);

Definition at line 118 of file traits.h.

◆ has_freestanding_serialize_with_version_v

template<typename T , typename Archive >
constexpr bool ttg::detail::has_freestanding_serialize_with_version_v
inlineconstexpr
Initial value:
=
ttg::meta::is_detected_v<has_freestanding_serialize_with_version_t, T, Archive>

true if this is well-formed:

// T t; Archive ar;
serialize(ar, t, 0u);

Definition at line 127 of file traits.h.

◆ has_member_load_with_version_v

template<typename T , typename Archive >
constexpr bool ttg::detail::has_member_load_with_version_v
inlineconstexpr
Initial value:
=
ttg::meta::is_detected_v<has_member_load_with_version_t, T, Archive>

true if this is well-formed:

// T t; Archive ar;
t.load(ar, 0u);

Definition at line 100 of file traits.h.

◆ has_member_save_with_version_v

template<typename T , typename Archive >
constexpr bool ttg::detail::has_member_save_with_version_v
inlineconstexpr
Initial value:
=
ttg::meta::is_detected_v<has_member_save_with_version_t, T, Archive>

true if this is well-formed:

// T t; Archive ar;
t.save(ar, 0u);

Definition at line 109 of file traits.h.

◆ has_member_serialize_v

template<typename T , typename Archive >
constexpr bool ttg::detail::has_member_serialize_v = ttg::meta::is_detected_v<has_member_serialize_t, T, Archive>
inlineconstexpr

true if this is well-formed:

// T t; Archive ar;
t.serialize(ar);

Definition at line 83 of file traits.h.

◆ has_member_serialize_with_version_v

template<typename T , typename Archive >
constexpr bool ttg::detail::has_member_serialize_with_version_v
inlineconstexpr
Initial value:
=
ttg::meta::is_detected_v<has_member_serialize_with_version_t, T, Archive>

true if this is well-formed:

// T t; Archive ar;
t.serialize(ar, 0u);

Definition at line 91 of file traits.h.

◆ is_archive_v

template<typename T , typename Enabler = void>
constexpr bool ttg::detail::is_archive_v = false
inlineconstexpr

Definition at line 142 of file traits.h.

◆ is_boost_archive_v

template<typename T >
constexpr bool ttg::detail::is_boost_archive_v = false
inlineconstexpr

Definition at line 46 of file boost.h.

◆ is_boost_buffer_serializable_v

template<typename T >
constexpr bool ttg::detail::is_boost_buffer_serializable_v = is_boost_buffer_serializable<T>::value
inlineconstexpr

evaluates to true if can serialize T to/from buffer using Boost serialization

Definition at line 150 of file boost.h.

◆ is_boost_default_buffer_serializable_v

template<typename T >
constexpr bool ttg::detail::is_boost_default_buffer_serializable_v = is_boost_default_buffer_serializable<T>::value
inlineconstexpr

evaluates to true if can serialize T to/from buffer using default Boost serialization

Definition at line 164 of file boost.h.

◆ is_boost_input_archive_v

template<typename T >
constexpr bool ttg::detail::is_boost_input_archive_v = false
inlineconstexpr

Definition at line 48 of file boost.h.

◆ is_boost_output_archive_v

template<typename T >
constexpr bool ttg::detail::is_boost_output_archive_v = false
inlineconstexpr

Definition at line 50 of file boost.h.

◆ is_boost_user_buffer_serializable_v

template<typename T >
constexpr bool ttg::detail::is_boost_user_buffer_serializable_v
inlineconstexpr
Initial value:
=
is_boost_buffer_serializable<T>::value && !is_boost_default_buffer_serializable_v<T>

evaluates to true if can serialize T to/from buffer using user-provided Boost serialization

Definition at line 168 of file boost.h.

◆ is_input_archive_v

template<typename T , typename Enabler >
constexpr bool ttg::detail::is_input_archive_v = false
inlineconstexpr

Definition at line 145 of file traits.h.

◆ is_madness_archive_v

template<typename T >
constexpr bool ttg::detail::is_madness_archive_v = false
inlineconstexpr

Definition at line 41 of file madness.h.

◆ is_madness_buffer_serializable_v

template<typename T >
constexpr bool ttg::detail::is_madness_buffer_serializable_v = is_madness_buffer_serializable<T>::value
inlineconstexpr

evaluates to true if can serialize T to/from buffer using MADNESS serialization

Definition at line 93 of file madness.h.

◆ is_madness_input_archive_v

template<typename T >
constexpr bool ttg::detail::is_madness_input_archive_v = false
inlineconstexpr

Definition at line 43 of file madness.h.

◆ is_madness_output_archive_v

template<typename T >
constexpr bool ttg::detail::is_madness_output_archive_v = false
inlineconstexpr

Definition at line 45 of file madness.h.

◆ is_madness_user_buffer_serializable_v

template<typename T >
constexpr bool ttg::detail::is_madness_user_buffer_serializable_v = is_madness_user_buffer_serializable<T>::value
inlineconstexpr

evaluates to true if can serialize T to/from buffer using user-provided MADNESS serialization

Definition at line 108 of file madness.h.

◆ is_memcpyable_override_v

template<typename T >
constexpr bool ttg::detail::is_memcpyable_override_v = std::is_trivially_copyable_v<T>
inlineconstexpr

can be used to override the default value of is_memcpyable<T>::value

std::is_trivially_copyable_v<T> is sufficient to guarantee that T std::memcpy is safe to use on object of type T however, sometimes is_trivially_copyable_v<T> reports false for objects that can be copied with memcpy , e.g., std::pair<int, int> (see https://danlark.org/2020/04/13/why-is-stdpair-broken/). In this case specialize this trait

Definition at line 194 of file traits.h.

◆ is_memcpyable_v

template<typename T >
constexpr bool ttg::detail::is_memcpyable_v = is_memcpyable<T>::value
inlineconstexpr

Definition at line 207 of file traits.h.

◆ is_output_archive_v

template<typename T , typename Enabler = void>
constexpr bool ttg::detail::is_output_archive_v = false
inlineconstexpr

Definition at line 148 of file traits.h.

◆ is_user_buffer_serializable_v

template<typename T >
constexpr bool ttg::detail::is_user_buffer_serializable_v = is_user_buffer_serializable<T>::value
inlineconstexpr

Definition at line 185 of file traits.h.