namespace ugcs::vsm::internal

Overview

namespace internal {

// classes

class Overlapped_io_controller;
class Poll_io_controller;
class Posix_file_handle;

template <class T, class Shared_base = void>
class Shared_getter;

template <class T>
class Shared_getter<T, void>;

template <class T>
class Shared_getter<T, T>;

template <class T, class = void>
class Singleton_creator;

template <class T>
class Singleton_creator<T, typename std::enable_if<std::is_default_constructible<T>::value>::type>;

class Windows_file_handle;

// global functions

template <class Ptr_tuple, size_t arg_idx>
void Assign_ptr_tuple_impl(Ptr_tuple&tuple __UNUSED);

template <class Ptr_tuple, size_t arg_idx, typename Arg, typename... Args>
void Assign_ptr_tuple_impl(
    Ptr_tuple& tuple,
    Arg&& arg,
    Args&&... args
    );

template <class Ptr_tuple, typename... Args>
void Assign_ptr_tuple(
    Ptr_tuple& tuple,
    Args&&... args
    );

} // namespace internal

Detailed Documentation

Global Functions

template <class Ptr_tuple, size_t arg_idx>
void Assign_ptr_tuple_impl(Ptr_tuple&tuple __UNUSED)

Assign_ptr_tuple implementation specialization for tail last recursive call.

template <class Ptr_tuple, size_t arg_idx, typename Arg, typename... Args>
void Assign_ptr_tuple_impl(
    Ptr_tuple& tuple,
    Arg&& arg,
    Args&&... args
    )

Assign_ptr_tuple implementation recursive definition.

template <class Ptr_tuple, typename... Args>
void Assign_ptr_tuple(
    Ptr_tuple& tuple,
    Args&&... args
    )

Helper function for assigning values to location pointers by pointers stored in a tuple.