#pragma once
#include <folly/memory/Malloc.h>
#include <stdexcept>
#include <type_traits>
namespace folly {
namespace detail {
[[noreturn]] void handleMallctlError(const char* fn, const char* cmd, int err);
template <typename T>
void mallctlHelper(const char* cmd, T* out, T* in) { … }
}
template <typename T>
void mallctlRead(const char* cmd, T* out) { … }
template <typename T>
void mallctlWrite(const char* cmd, T in) { … }
template <typename T>
void mallctlReadWrite(const char* cmd, T* out, T in) { … }
inline void mallctlCall(const char* cmd) { … }
namespace detail {
class MallctlMibCache { … };
}
class MallctlMibCallCache : private detail::MallctlMibCache { … };
template <typename ReadType>
class MallctlMibReadCache : private detail::MallctlMibCache { … };
template <typename WriteType>
class MallctlMibWriteCache : private detail::MallctlMibCache { … };
template <typename ReadType, typename WriteType>
class MallctlMibReadWriteCache : private detail::MallctlMibCache { … };
MallctlMibExchangeCache;
}