![]() |
Toolbox snapshot
The Reactive C++ Toolbox
|
Namespaces | |
| namespace | bm |
| namespace | detail |
| namespace | hdr |
| A C++ port of HdrHistogram_c written Michael Barker and released to the public domain. | |
| namespace | http |
| namespace | io |
| namespace | net |
| namespace | os |
| namespace | resp |
| namespace | sys |
| namespace | util |
Classes | |
| class | Alarm |
| struct | Allocator |
| struct | AlwaysFalse |
| class | App |
| class | ArgvLexer |
| class | ArgvSequence |
| Utility class that allows an argv array to be treated as a sequence. More... | |
| class | ArrayView |
| class | AsyncLogger |
| class | BasicConn |
| class | BasicDisposer |
| class | BasicHandle |
| class | BasicParser |
| class | BasicServ |
| class | BasicSlot |
| class | BasicSlot< RetT(ArgsT...)> |
| class | BasicTrans |
| class | BasicUrl |
| struct | BucketConfig |
| Bucket configuration. More... | |
| class | Buffer |
| class | Config |
| Simple config reader with environment variable substitution. More... | |
| class | CountAddedIterator |
| CountAddedIterator is a recorded value iterator. More... | |
| class | CyclTime |
| struct | DgramProtocol |
| struct | DgramSock |
| Connectionless Datagram Socket. All state is in base class, so object can be sliced. More... | |
| class | Epoll |
| struct | ErrMsg |
| class | EventFd |
| struct | Exception |
| struct | FilePolicy |
| class | FileWatcher |
| FileWatcher watches for changes to files. More... | |
| class | Finally |
| struct | FunctionTraits |
| Default case for functors and lambdas. More... | |
| struct | FunctionTraits< ReturnT(*)(ArgsT...) noexcept > |
| Specialisation for noexcept free functions. More... | |
| struct | FunctionTraits< ReturnT(*)(ArgsT...)> |
| Specialisation for free functions. More... | |
| struct | FunctionTraits< ReturnT(ClassT::*)(ArgsT...) const > |
| Specialisation for const member functions. More... | |
| struct | FunctionTraits< ReturnT(ClassT::*)(ArgsT...) const noexcept > |
| Specialisation for const noexcept member functions. More... | |
| struct | FunctionTraits< ReturnT(ClassT::*)(ArgsT...) noexcept > |
| Specialisation for noexcept member functions. More... | |
| struct | FunctionTraits< ReturnT(ClassT::*)(ArgsT...)> |
| Specialisation for member functions. More... | |
| class | Help |
| class | Histogram |
| A High Dynamic Range (HDR) Histogram. More... | |
| struct | Hook |
| struct | Id16Policy |
| struct | Id32Policy |
| struct | Id64Policy |
| class | Inotify |
| Inotify provides a simplified interface to an inotify instance. More... | |
| struct | IntPolicy |
| struct | IntWrapper |
| struct | IoSock |
| struct | IpMcastGroup |
| struct | is_any_of |
| struct | is_decay_to_cstring |
| struct | is_decay_to_cstring_helper |
| struct | is_decay_to_cstring_helper< T * > |
| struct | is_instantiation_of |
| struct | is_instantiation_of_helper |
| struct | is_instantiation_of_helper< Tpl< Ts... >, Tpl > |
| struct | is_string_type |
| struct | IsoDatePolicy |
| class | Iterator |
| Iterator is the base iterator for all iterator types. More... | |
| struct | JDayPolicy |
| class | LinearIterator |
| LinearIterator is a linear value iterator. More... | |
| class | Log |
| class | Logger |
| class | LogIterator |
| LogIterator is a logarithmic value iterator. More... | |
| struct | McastSock |
| Connectionless Datagram Socket. All state is in base class, so object can be sliced. More... | |
| struct | MonoClock |
| struct | MsgEvent |
| class | MultiConfig |
| class | NoOp |
| class | Options |
| class | OStaticStream |
| class | OStream |
| class | OStreamBase |
| class | OStreamIterator |
| class | OStreamJoiner |
| struct | overloaded |
| class | PercentileIterator |
| PercentileIterator is a percentile iterator. More... | |
| class | Presence |
| struct | PutPercentiles |
| struct | PutTime |
| class | RateLimit |
| class | RateWindow |
| RateWindow maintains a sliding window of second time buckets for the specified interval. More... | |
| class | Reactor |
| class | ReactorRunner |
| class | RecordedIterator |
| RecordedIterator is a recorded value iterator. More... | |
| class | RefCount |
| Base class for atomic referenced counted objects. More... | |
| class | Request |
| class | Resolver |
| class | RingBuffer |
| class | Runner |
| class | ScopedLogger |
| class | ScopedLogLevel |
| class | SigWait |
| struct | Sock |
| class | StreamAcceptor |
| class | StreamBuf |
| class | StreamConnector |
| class | StreamInserter |
| struct | StreamProtocol |
| struct | StreamSockClnt |
| Active Client Stream Socket. All state is in base class, so object can be sliced. More... | |
| struct | StreamSockServ |
| Passive Server Stream Socket. All state is in base class, so object can be sliced. More... | |
| struct | string_hash |
| class | StringBuf |
| String buffer with fixed upper-bound. More... | |
| class | Switch |
| class | TaskQueue |
| A vector-based task queue for use in multi-threaded, producer-consumer components. More... | |
| struct | TcpProtocol |
| struct | ThreadConfig |
| ThreadConfig holds the thread attributes. More... | |
| struct | ThreadSafePolicy |
| struct | ThreadUnsafePolicy |
| class | ThrottledInvoker |
| class | Timer |
| class | TimerFd |
| class | TimerPool |
| class | TimerQueue |
| class | Tokeniser |
| struct | TransTraits |
| struct | TypeTraits |
| struct | TypeTraits< bool > |
| struct | TypeTraits< DgramEndpoint > |
| struct | TypeTraits< double > |
| struct | TypeTraits< std::chrono::duration< RepT, PeriodT > > |
| struct | TypeTraits< std::string > |
| struct | TypeTraits< std::string_view > |
| struct | TypeTraits< StreamEndpoint > |
| struct | TypeTraits< ValueT > |
| struct | TypeTraits< Version > |
| struct | TypeTraits< WallTime > |
| struct | UdpProtocol |
| struct | UnixDgramProtocol |
| struct | UnixStreamProtocol |
| class | Url |
| class | UrlView |
| class | Value |
| class | VarAccum |
| class | VarSub |
| Variable substitution. More... | |
| struct | Version |
| class | Waker |
| struct | WallClock |
| struct | WatchFile |
| struct | WatchFilePolicy |
Typedefs | |
| using | Conn = BasicConn< Request, App > |
| using | Headers = std::vector< std::pair< std::string, std::string > > |
| using | Serv = BasicServ< Conn, App > |
| using | ConstBuffer = boost::asio::const_buffer |
| using | MutableBuffer = boost::asio::mutable_buffer |
| using | EpollEvent = epoll_event |
| using | FileHandle = BasicHandle< FilePolicy > |
| using | HookList = boost::intrusive::list< Hook, boost::intrusive::constant_time_size< false > > |
| using | WatchFileHandle = BasicHandle< WatchFilePolicy > |
| using | IoSlot = BasicSlot< void(CyclTime, int, unsigned)> |
| using | PollSlot = BasicSlot< int(CyclTime)> |
| using | HistogramPtr = std::unique_ptr< Histogram > |
| using | MetricCallbackFunction = std::function< void(CyclTime now, HistogramPtr &&time_hist, HistogramPtr &&work_hist)> |
| MetricCallbackFunction implementer is responsible for deleting the Histogram. | |
| using | LoopCallbackFunction = std::function< void(CyclTime now)> |
| LoopCallbackFunction called at end of each Reactor loop, indicating micros taken and work done. | |
| using | TimerSlot = BasicSlot< void(CyclTime, Timer &)> |
| template<typename ProtocolT > | |
| using | BasicEndpoint = boost::asio::generic::basic_endpoint< ProtocolT > |
| using | DgramEndpoint = BasicEndpoint< DgramProtocol > |
| using | StreamEndpoint = BasicEndpoint< StreamProtocol > |
| template<typename ProtocolT > | |
| using | IpEndpoint = boost::asio::ip::basic_endpoint< ProtocolT > |
| using | UdpEndpoint = IpEndpoint< UdpProtocol > |
| using | TcpEndpoint = IpEndpoint< TcpProtocol > |
| template<typename ProtocolT > | |
| using | UnixEndpoint = boost::asio::local::basic_endpoint< ProtocolT > |
| using | UnixDgramEndpoint = UnixEndpoint< UnixDgramProtocol > |
| using | UnixStreamEndpoint = UnixEndpoint< UnixStreamProtocol > |
| using | IpAddr = boost::asio::ip::address |
| using | IpAddrV4 = boost::asio::ip::address_v4 |
| using | IpAddrV6 = boost::asio::ip::address_v6 |
| using | AddrInfoFuture = std::future< AddrInfoPtr > |
| using | AddrInfoPtr = std::unique_ptr< addrinfo, void(*)(addrinfo *)> |
| using | IsoDate = IntWrapper< IsoDatePolicy > |
| ISO8601 date in yyymmdd format. | |
| using | JDay = IntWrapper< JDayPolicy > |
| Julian day. | |
| using | LogStream = util::OStream< MaxLogLine > |
| Logger callback function. | |
| using | LogMsgPtr = StoragePtr< MaxLogLine > |
| using | PidFile = std::unique_ptr< pidfh, detail::PidFileDeleter > |
| using | Seconds = std::chrono::seconds |
| using | Decis = std::chrono::duration< int64_t, std::deci > |
| using | Millis = std::chrono::milliseconds |
| using | Micros = std::chrono::microseconds |
| using | Nanos = std::chrono::nanoseconds |
| using | NanoTime = Nanos |
| using | Duration = Nanos |
| using | MonoTime = MonoClock::time_point |
| using | WallTime = WallClock::time_point |
| using | Int16Policy = IntPolicy< std::int16_t > |
| using | Int32Policy = IntPolicy< std::int32_t > |
| using | Int64Policy = IntPolicy< std::int64_t > |
| using | Id16 = IntWrapper< Id16Policy > |
| 16 bit identifier. | |
| using | Id32 = IntWrapper< Id32Policy > |
| 32 bit identifier. | |
| using | Id64 = IntWrapper< Id64Policy > |
| 64 bit identifier. | |
| template<typename KeyT > | |
| using | RobinHash = robin_hood::hash< KeyT > |
| Robin Hood hash function template. | |
| template<typename KeyT , typename ValueT , typename HashT = RobinHash<KeyT>, typename KeyEqualT = std::equal_to<KeyT>, std::size_t MaxLoadFactor100N = 80> | |
| using | RobinMap = robin_hood::unordered_map< KeyT, ValueT, HashT, KeyEqualT, MaxLoadFactor100N > |
| template<typename KeyT , typename ValueT , typename HashT = RobinHash<KeyT>, typename KeyEqualT = std::equal_to<KeyT>, std::size_t MaxLoadFactor100N = 80> | |
| using | RobinFlatMap = robin_hood::unordered_flat_map< KeyT, ValueT, HashT, KeyEqualT, MaxLoadFactor100N > |
| Robin Hood unordered flat map. | |
| template<typename KeyT , typename ValueT , typename HashT = RobinHash<KeyT>, typename KeyEqualT = std::equal_to<KeyT>, std::size_t MaxLoadFactor100N = 80> | |
| using | RobinNodeMap = robin_hood::unordered_node_map< KeyT, ValueT, HashT, KeyEqualT, MaxLoadFactor100N > |
| Robin Hood unordered node map. | |
| template<typename KeyT , typename HashT = RobinHash<KeyT>, typename KeyEqualT = std::equal_to<KeyT>, std::size_t MaxLoadFactor100N = 80> | |
| using | RobinSet = robin_hood::unordered_set< KeyT, HashT, KeyEqualT, MaxLoadFactor100N > |
| template<typename KeyT , typename HashT = RobinHash<KeyT>, typename KeyEqualT = std::equal_to<KeyT>, std::size_t MaxLoadFactor100N = 80> | |
| using | RobinFlatSet = robin_hood::unordered_flat_set< KeyT, HashT, KeyEqualT, MaxLoadFactor100N > |
| Robin Hood unordered flat set. | |
| template<typename KeyT , typename HashT = RobinHash<KeyT>, typename KeyEqualT = std::equal_to<KeyT>, std::size_t MaxLoadFactor100N = 80> | |
| using | RobinNodeSet = robin_hood::unordered_node_set< KeyT, HashT, KeyEqualT, MaxLoadFactor100N > |
| Robin Hood unordered node set. | |
| template<std::size_t SizeN> | |
| using | StoragePtr = std::unique_ptr< char[], detail::StorageDeleter< SizeN > > |
| Pointer to an uninitialised char array of SizeN, freed with delete[]. | |
| using | sv = std::string_view |
| template<std::size_t N> | |
| using | Row = std::array< std::string_view, N > |
| template<typename T > | |
| using | is_string = is_instantiation_of< T, std::basic_string > |
| template<typename T > | |
| using | is_string_view = is_instantiation_of< T, std::basic_string_view > |
Enumerations | |
| enum class | First : bool { No = false , Yes = true } |
| enum class | NoCache : bool { No = false , Yes = true } |
| enum class | Method : int { Delete = HTTP_DELETE , Get = HTTP_GET , Head = HTTP_HEAD , Post = HTTP_POST , Put = HTTP_PUT , Connect = HTTP_CONNECT , Options = HTTP_OPTIONS , Trace = HTTP_TRACE , Copy = HTTP_COPY , Lock = HTTP_LOCK , MkCol = HTTP_MKCOL , Move = HTTP_MOVE , PropFind = HTTP_PROPFIND , PropPatch = HTTP_PROPPATCH , Search = HTTP_SEARCH , Unlock = HTTP_UNLOCK , Bind = HTTP_BIND , Rebind = HTTP_REBIND , Unbind = HTTP_UNBIND , Acl = HTTP_ACL , Report = HTTP_REPORT , MkActivity = HTTP_MKACTIVITY , Checkout = HTTP_CHECKOUT , Merge = HTTP_MERGE , MSearch = HTTP_MSEARCH , Notify = HTTP_NOTIFY , Subscribe = HTTP_SUBSCRIBE , Unsubscribe = HTTP_UNSUBSCRIBE , Patch = HTTP_PATCH , Purge = HTTP_PURGE , MkCalendar = HTTP_MKCALENDAR , Link = HTTP_LINK , Unlink = HTTP_UNLINK , Source = HTTP_SOURCE } |
| enum class | Status : int { Ok = HTTP_STATUS_OK , NoContent = HTTP_STATUS_NO_CONTENT , BadRequest = HTTP_STATUS_BAD_REQUEST , Unauthorized = HTTP_STATUS_UNAUTHORIZED , Forbidden = HTTP_STATUS_FORBIDDEN , NotFound = HTTP_STATUS_NOT_FOUND , MethodNotAllowed = HTTP_STATUS_METHOD_NOT_ALLOWED , RequestTimeout = HTTP_STATUS_REQUEST_TIMEOUT , InternalServerError = HTTP_STATUS_INTERNAL_SERVER_ERROR , ServiceUnavailable = HTTP_STATUS_SERVICE_UNAVAILABLE } |
| enum class | Type : int { Request = HTTP_REQUEST , Response = HTTP_RESPONSE } |
| enum | : unsigned { EpollIn = EPOLLIN , EpollOut = EPOLLOUT , EpollRdHup = EPOLLRDHUP , EpollPri = EPOLLPRI , EpollErr = EPOLLERR , EpollHup = EPOLLHUP , EpollEt = EPOLLET , EpollOneShot = EPOLLONESHOT } |
| enum class | Priority { High = 0 , Low = 1 } |
| enum class | Type : char { None = '\0' , CommandLine = '\1' , SimpleString = '+' , Error = '-' , Integer = ':' , BulkString = '$' , Array = '*' } |
| Type is an enumeration of the RESP data-types currently supported. More... | |
| enum | : std::size_t { CacheLineBits = 6 , CacheLineSize = 1 << CacheLineBits , PageBits = 12 , PageSize = 1 << PageBits , MaxLogLine = 4096 } |
| enum class | LogLevel : int { None , Crit , Error , Warn , Metric , Notice , Info , Debug } |
| enum class | Test : int { Foo = 1 , Bar = 2 , Baz = 4 , Qux = 8 } |
Functions | |
| int64_t | min (const Histogram &h) noexcept |
| int64_t | max (const Histogram &h) noexcept |
| int64_t | value_at_percentile (const Histogram &h, double percentile) noexcept |
| double | mean (const Histogram &h) noexcept |
| double | stddev (const Histogram &h) noexcept |
| auto | put_percentiles (const Histogram &h, std::int32_t ticks_per_half_distance, double value_scale) noexcept |
| template<typename StreamT > requires Streamable<StreamT> | |
| StreamT & | operator<< (StreamT &os, PutPercentiles pp) |
| const std::error_category & | error_category () noexcept |
| std::error_code | make_error_code (Status status) |
| Status | http_status (const std::error_code &ec) |
| const char * | enum_string (Status status) noexcept |
| const char * | enum_string (Method method) noexcept |
| template<typename StreamT > requires Streamable<StreamT> | |
| StreamT & | operator<< (StreamT &os, Method method) |
| template<typename StreamT > requires Streamable<StreamT> | |
| StreamT & | operator<< (StreamT &os, Status status) |
| ConstBuffer | advance (ConstBuffer buf, std::size_t n) noexcept |
| MutableBuffer | advance (MutableBuffer buf, std::size_t n) noexcept |
| template<typename DataT > | |
| void | emplace_event (MsgEvent &ev, int type) noexcept |
| template<typename DataT , typename... ArgsT> | |
| void | emplace_event (MsgEvent &ev, int type, ArgsT &&... args) noexcept |
| template<typename DataT > | |
| const DataT & | data (const MsgEvent &ev) noexcept |
| template<typename DataT > | |
| DataT & | data (MsgEvent &ev) noexcept |
| std::size_t | file_size (int fd) |
| Get file size. | |
| mode_t | file_mode () noexcept |
| Get current file mode. | |
| void | set_non_block (int fd, std::error_code &ec) noexcept |
| void | set_non_block (int fd) |
| FileHandle | flopen (const char *path, int flags, mode_t mode, std::error_code &ec) |
| FileHandle | flopen (const char *path, int flags, mode_t mode) |
| template<typename PolicyT > | |
| constexpr bool | operator== (const BasicHandle< PolicyT > &lhs, const BasicHandle< PolicyT > &rhs) |
| template<typename PolicyT > | |
| constexpr bool | operator!= (const BasicHandle< PolicyT > &lhs, const BasicHandle< PolicyT > &rhs) |
| void | dispatch (CyclTime now, const HookList &l) noexcept |
| constexpr bool | operator== (WatchFile lhs, WatchFile rhs) |
| constexpr bool | operator!= (WatchFile lhs, WatchFile rhs) |
| FileHandle | inotify_init (int flags, std::error_code &ec) noexcept |
| Initialise an inotify instance. | |
| FileHandle | inotify_init (std::error_code &ec) noexcept |
| Initialise an inotify instance. | |
| FileHandle | inotify_init (int flags=0) |
| WatchFileHandle | inotify_add_watch (int fd, const char *path, std::uint32_t mask, std::error_code &ec) noexcept |
| Add a watch to an initialised inotify instance. | |
| WatchFileHandle | inotify_add_watch (int fd, const char *path, std::uint32_t mask) |
| Add a watch to an initialised inotify instance. | |
| void | intrusive_ptr_release (Timer::Impl *impl) noexcept |
| void | intrusive_ptr_add_ref (Timer::Impl *impl) noexcept |
| std::ostream & | operator<< (std::ostream &os, const Timer &tmr) |
| constexpr std::uint16_t | bswap (std::uint16_t n) noexcept |
| constexpr std::int16_t | bswap (std::int16_t n) noexcept |
| constexpr std::uint32_t | bswap (std::uint32_t n) noexcept |
| constexpr std::int32_t | bswap (std::int32_t n) noexcept |
| constexpr std::uint64_t | bswap (std::uint64_t n) noexcept |
| constexpr std::int64_t | bswap (std::int64_t n) noexcept |
| template<typename ValueT > requires std::integral<ValueT> | |
| constexpr ValueT | ntoh (ValueT n) noexcept |
| template<typename ValueT > requires std::integral<ValueT> | |
| constexpr ValueT | hton (ValueT n) noexcept |
| template<typename ValueT > requires std::integral<ValueT> | |
| constexpr ValueT | ltoh (ValueT n) noexcept |
| template<typename ValueT > requires std::integral<ValueT> | |
| constexpr ValueT | htol (ValueT n) noexcept |
| AddrInfoPtr | parse_endpoint (string_view uri, int type) |
| istream & | operator>> (istream &is, DgramEndpoint &ep) |
| istream & | operator>> (istream &is, StreamEndpoint &ep) |
| DgramEndpoint | parse_dgram_endpoint (std::string_view uri) |
| StreamEndpoint | parse_stream_endpoint (std::string_view uri) |
| template<typename StreamT , class T > requires Streamable<StreamT> && std::same_as<T, DgramEndpoint> | |
| StreamT & | operator<< (StreamT &os, const T &ep) |
| template<typename StreamT , class T > requires Streamable<StreamT> && std::same_as<T, StreamEndpoint> | |
| StreamT & | operator<< (StreamT &os, const T &ep) |
| const std::error_category & | gai_error_category () noexcept |
| std::error_code | make_gai_error_code (int err) noexcept |
| constexpr std::uint16_t | get_length (const char *buf, std::endian net_byte_order) noexcept |
| std::uint16_t | get_length (ConstBuffer buf, std::endian net_byte_order) noexcept |
| void | put_length (char *buf, std::uint16_t len, std::endian net_byte_order) noexcept |
| void | put_length (MutableBuffer buf, std::uint16_t len, std::endian net_byte_order) noexcept |
| template<typename FnT > | |
| std::size_t | parse_frame (ConstBuffer buf, FnT fn, std::endian net_byte_order) |
| template<typename FnT > | |
| std::size_t | parse_frame (std::string_view buf, FnT fn, std::endian net_byte_order) |
| template<typename ProtocolT > | |
| std::pair< IoSock, IoSock > | socketpair (ProtocolT protocol) |
| void | join_group (int sockfd, const IpMcastGroup &group, std::error_code &ec) noexcept |
| Join a multicast group. | |
| void | join_group (int sockfd, const IpMcastGroup &group) |
| Join a multicast group. | |
| void | join_group (int sockfd, const IpAddr &addr, unsigned ifindex, std::error_code &ec) noexcept |
| Join a multicast group. | |
| void | join_group (int sockfd, const IpAddr &addr, unsigned ifindex) |
| Join a multicast group. | |
| void | join_group (int sockfd, const IpAddr &addr, const char *ifname, std::error_code &ec) noexcept |
| Join a multicast group. The system will choose an appropriate interface if ifname is null. | |
| void | join_group (int sockfd, const IpAddr &addr, const char *ifname) |
| Join a multicast group. The system will choose an appropriate interface if ifname is null. | |
| void | leave_group (int sockfd, const IpMcastGroup &group, std::error_code &ec) noexcept |
| Leave a multicast group. | |
| void | leave_group (int sockfd, const IpMcastGroup &group) |
| Leave a multicast group. | |
| void | leave_group (int sockfd, const IpAddr &addr, unsigned ifindex, std::error_code &ec) noexcept |
| Leave a multicast group. | |
| void | leave_group (int sockfd, const IpAddr &addr, unsigned ifindex) |
| Leave a multicast group. | |
| void | leave_group (int sockfd, const IpAddr &addr, const char *ifname, std::error_code &ec) noexcept |
| Leave a multicast group. The system will leave on the first matching interface if ifname is null. | |
| void | leave_group (int sockfd, const IpAddr &addr, const char *ifname) |
| Leave a multicast group. The system will leave on the first matching interface if ifname is null. | |
| void | set_ip_mcast_if (int sockfd, int family, unsigned ifindex, std::error_code &ec) noexcept |
| void | set_ip_mcast_if (int sockfd, int family, unsigned ifindex) |
| void | set_ip_mcast_if (int sockfd, int family, const char *ifname, std::error_code &ec) noexcept |
| void | set_ip_mcast_if (int sockfd, int family, const char *ifname) |
| void | set_ip_mcast_loop (int sockfd, int family, bool enabled, std::error_code &ec) noexcept |
| Determines whether sent multicast packets should be looped back to the local sockets. | |
| void | set_ip_mcast_loop (int sockfd, int family, bool enabled) |
| Determines whether sent multicast packets should be looped back to the local sockets. | |
| void | set_ip_mcast_ttl (int sockfd, int family, int ttl, std::error_code &ec) noexcept |
| Set or read the time-to-live value of outgoing multicast packets for this socket. | |
| void | set_ip_mcast_ttl (int sockfd, int family, int ttl) |
| Set or read the time-to-live value of outgoing multicast packets for this socket. | |
| RateLimit | parse_rate_limit (const string &s) |
| istream & | operator>> (istream &is, RateLimit &rl) |
| template<typename StreamT > requires Streamable<StreamT> | |
| StreamT & | operator<< (StreamT &os, RateLimit rl) |
| template<typename EndpointT > | |
| EndpointT | get_endpoint (AddrInfoFuture &future) |
| Wait for future and convert result to endpoint. | |
| template<typename ResultT > | |
| bool | is_ready (std::future< ResultT > &future) |
| Returns true if future is ready. | |
| AddrInfoPtr | get_unix_addrinfo (std::string_view path, int type) |
| Create an addrinfo structure for a Unix domain address. | |
| template<typename EndpointT > | |
| void | get_sock_name (int sockfd, EndpointT &ep, std::error_code &ec) noexcept |
| template<typename EndpointT > | |
| void | get_sock_name (int sockfd, EndpointT &ep) |
| std::error_code | get_so_error (int sockfd, std::error_code &ec) noexcept |
| std::error_code | get_so_error (int sockfd) |
| int | get_so_rcv_buf (int sockfd, std::error_code &ec) noexcept |
| int | get_so_rcv_buf (int sockfd) |
| int | get_so_snd_buf (int sockfd, std::error_code &ec) noexcept |
| int | get_so_snd_buf (int sockfd) |
| bool | is_tcp_no_delay (int sockfd, std::error_code &ec) noexcept |
| bool | is_tcp_no_delay (int sockfd) |
| void | set_so_rcv_buf (int sockfd, int size, std::error_code &ec) noexcept |
| void | set_so_rcv_buf (int sockfd, int size) |
| void | set_so_reuse_addr (int sockfd, bool enabled, std::error_code &ec) noexcept |
| void | set_so_reuse_addr (int sockfd, bool enabled) |
| void | set_so_snd_buf (int sockfd, int size, std::error_code &ec) noexcept |
| void | set_so_snd_buf (int sockfd, int size) |
| void | set_tcp_no_delay (int sockfd, bool enabled, std::error_code &ec) noexcept |
| void | set_tcp_no_delay (int sockfd, bool enabled) |
| void | set_tcp_syn_nt (int sockfd, int retrans, std::error_code &ec) noexcept |
| void | set_tcp_syn_nt (int sockfd, int retrans) |
| void | set_so_timestamping (int sockfd, int flags, std::error_code &ec) noexcept |
| void | set_so_timestamping (int sockfd, int flags) |
| int | get_so_timestamping (int sockfd, std::error_code &ec) noexcept |
| int | get_so_timestamping (int sockfd) |
| void | close_all () noexcept |
| Close all non-standard file handles. | |
| void | daemon () |
| Daemonise process. Detach from controlling terminal and run in the background as a system daemon. | |
| constexpr auto | operator""_ymd (unsigned long long val) noexcept |
| constexpr auto | operator""_jd (unsigned long long val) noexcept |
| constexpr auto | ymd_to_iso (int year, int mon, int mday) noexcept |
| Gregorian to ISO8601 date. | |
| constexpr auto | ymd_to_jd (int year, int mon, int mday) noexcept |
| Gregorian date to Julian day. | |
| constexpr auto | iso_to_jd (IsoDate iso) noexcept |
| ISO8601 to Julian day. | |
| constexpr auto | jd_to_iso (JDay jd) noexcept |
| Julian day to ISO8601. | |
| constexpr std::int32_t | jd_to_mjd (JDay jd) noexcept |
| Juilian day to Modified Julian day. Epoch is November 17, 1858. | |
| constexpr auto | mjd_to_jd (std::int32_t mjd) noexcept |
| Modified Julian day to Julian day. Epoch is November 17, 1858. | |
| constexpr std::int32_t | jd_to_tjd (JDay jd) noexcept |
| Julian day to Truncated Julian day. Epoch is May 24, 1968. | |
| constexpr JDay | tjd_to_jd (std::int32_t tjd) noexcept |
| Truncated Julian day to Julian day. Epoch is May 24, 1968. | |
| constexpr WallTime | jd_to_time (JDay jd) noexcept |
| Julian day to Unix time. | |
| constexpr IsoDate | maybe_jd_to_iso (JDay jd) noexcept |
| Julian day to ISO8601 if argument is non-zero. | |
| constexpr JDay | maybe_iso_to_jd (IsoDate iso) noexcept |
| ISO8601 to Julian day if argument is non-zero. | |
| constexpr WallTime | iso_to_time (IsoDate iso) noexcept |
| ISO8601 to Unix time. | |
| constexpr bool | is_week_day (JDay jday) noexcept |
| constexpr bool | is_weekend_day (JDay jday) noexcept |
| constexpr auto | parse_date (std::string_view sv) noexcept |
| constexpr std::optional< WallTime > | parse_time (std::string_view sv) noexcept |
| std::error_code | make_error (int err) noexcept |
| constexpr std::size_t | ceil_cache_line (std::size_t size) noexcept |
| constexpr std::size_t | ceil_page (std::size_t size) noexcept |
| LogStream & | log_stream () noexcept |
| Logger & | null_logger () noexcept |
| Null logger. This logger does nothing and is effectively /dev/null. | |
| Logger & | std_logger () noexcept |
| Logger & | sys_logger () noexcept |
| System logger. This logger calls syslog(). | |
| const char * | log_label (LogLevel level) noexcept |
| Return log label for given log level. | |
| LogLevel | get_log_level () noexcept |
| Return current log level. | |
| LogLevel | set_log_level (LogLevel level) noexcept |
| Set log level globally for all threads. | |
| Logger & | get_logger () noexcept |
| Return current logger. | |
| Logger & | set_logger (Logger &logger) noexcept |
| Set logger globally for all threads. | |
| void | write_log (WallTime ts, LogLevel level, LogMsgPtr &&msg, std::size_t size) noexcept |
| bool | is_log_level (LogLevel level) noexcept |
| Return true if level is less than or equal to current log level. | |
| Logger & | set_logger (std::nullptr_t) noexcept |
| template<typename StreamT > requires Streamable<StreamT> | |
| StreamT & | operator<< (StreamT &os, LogLevel level) |
| PidFile | open_pid_file (const char *path, mode_t mode) |
| void | close_pid_file (PidFile &pf) noexcept |
| Close pidfile without removing it. This function should be used when forking daemon processes. | |
| void | write_pid_file (PidFile &pf) |
| Write process' PID into pidfile. | |
| void | sig_block_all () |
| Block all signals. | |
| cpu_set_t | parse_cpu_set (string_view s) noexcept |
| int | parse_sched_policy (string_view s) |
| void | set_thread_attrs (const ThreadConfig &config) |
| TOOLBOX_WEAK Nanos | get_time (clockid_t clock_id) noexcept |
| template<typename RepT , typename PeriodT > | |
| constexpr bool | is_zero (std::chrono::duration< RepT, PeriodT > d) noexcept |
| template<typename ClockT > | |
| constexpr bool | is_zero (std::chrono::time_point< ClockT, Duration > t) noexcept |
| template<typename ClockT , typename DurationT > | |
| constexpr DurationT | time_since_epoch (std::chrono::time_point< ClockT, Duration > t) noexcept |
| template<typename ClockT > | |
| constexpr std::int64_t | ms_since_epoch (std::chrono::time_point< ClockT, Duration > t) noexcept |
| template<typename ClockT > | |
| constexpr std::int64_t | us_since_epoch (std::chrono::time_point< ClockT, Duration > t) noexcept |
| template<typename ClockT > | |
| constexpr std::int64_t | ns_since_epoch (std::chrono::time_point< ClockT, Duration > t) noexcept |
| template<typename ClockT , typename RepT , typename PeriodT > | |
| constexpr auto | to_time (std::chrono::duration< RepT, PeriodT > d) noexcept |
| template<typename ClockT > | |
| constexpr auto | to_time (timeval tv) noexcept |
| template<typename ClockT > | |
| constexpr auto | to_time (timespec ts) noexcept |
| template<typename RepT , typename PeriodT > | |
| constexpr timeval | to_timeval (std::chrono::duration< RepT, PeriodT > d) noexcept |
| template<typename ClockT > | |
| constexpr timeval | to_timeval (std::chrono::time_point< ClockT, Duration > t) noexcept |
| template<typename RepT , typename PeriodT > | |
| constexpr timespec | to_timespec (std::chrono::duration< RepT, PeriodT > d) noexcept |
| template<typename ClockT > | |
| constexpr timespec | to_timespec (std::chrono::time_point< ClockT, Duration > t) noexcept |
| template<typename StreamT > requires Streamable<StreamT> | |
| StreamT & | operator<< (StreamT &os, MonoTime t) |
| template<typename StreamT > requires Streamable<StreamT> | |
| StreamT & | operator<< (StreamT &os, WallTime t) |
| template<typename DurationT = Seconds> | |
| auto | put_time (WallTime t, const char *fmt) noexcept |
| template<typename DurationT , typename StreamT > requires Streamable<StreamT> | |
| StreamT & | operator<< (StreamT &os, PutTime< DurationT > pt) |
| constexpr bool | is_zero (timeval tv) noexcept |
| void | clear (timeval &tv) noexcept |
| timeval | operator+ (timeval lhs, timeval rhs) noexcept |
| timeval | operator- (timeval lhs, timeval rhs) noexcept |
| constexpr bool | is_zero (timespec ts) noexcept |
| void | clear (timespec &ts) noexcept |
| timespec | operator+ (timespec lhs, timespec rhs) noexcept |
| timespec | operator- (timespec lhs, timespec rhs) noexcept |
| constexpr auto | parse_nanos (std::string_view sv) noexcept |
| constexpr std::optional< Nanos > | parse_time_only (std::string_view sv) noexcept |
| TOOLBOX_WEAK void * | allocate (size_t size) |
| TOOLBOX_WEAK void | deallocate (void *ptr, size_t size) noexcept |
| TOOLBOX_API void * | allocate (std::size_t size) |
| TOOLBOX_API void | deallocate (void *ptr, std::size_t size) noexcept |
| template<typename ValueT , std::size_t SizeN> | |
| constexpr std::size_t | array_size (const ValueT(&)[SizeN]) noexcept |
| template<typename ValueT > | |
| constexpr ArrayView< std::remove_volatile_t< ValueT > > | make_array_view (const ValueT *ptr, std::size_t len) noexcept |
| template<typename ValueT , std::size_t SizeN> | |
| constexpr ArrayView< std::remove_cv_t< ValueT > > | make_array_view (ValueT(&arr)[SizeN]) noexcept |
| template<typename FnT > | |
| std::istream & | parse_section (std::istream &is, FnT fn, std::string *name=nullptr) |
| template<typename EnumT > requires Enum<EnumT> | |
| constexpr EnumT | box (typename std::underlying_type_t< EnumT > val) noexcept |
| template<typename EnumT > requires Enum<EnumT> | |
| constexpr std::underlying_type_t< EnumT > | unbox (EnumT val) noexcept |
| constexpr Test | operator""_test (unsigned long long val) noexcept |
| const char * | enum_string (Test t) |
| ostream & | operator<< (ostream &os, Test t) |
| ErrMsg & | err_msg () noexcept |
| template<typename ValueT > | |
| ErrMsg & | operator<< (ErrMsg &err, ValueT &&val) |
| template<typename ExceptionT > | |
| auto | put_as_json (const ExceptionT &e) |
| template<typename ExceptionT > | |
| auto | put_with_code (const ExceptionT &e) |
| template<typename FnT > | |
| auto | make_finally (FnT fn) noexcept |
| template<typename PolicyT > | |
| std::size_t | hash_value (IntWrapper< PolicyT > wrapper) |
| constexpr Id16 | operator""_id16 (unsigned long long val) noexcept |
| constexpr Id32 | operator""_id32 (unsigned long long val) noexcept |
| constexpr Id64 | operator""_id64 (unsigned long long val) noexcept |
| constexpr bool | is_pow2 (std::size_t n) noexcept |
| unsigned | next_pow2 (unsigned n) noexcept |
| unsigned long | next_pow2 (unsigned long n) noexcept |
| template<int BitsN> | |
| constexpr std::size_t | ceil_pow2 (std::size_t size) noexcept |
| double | var (const VarAccum &v) noexcept |
| double | varp (const VarAccum &v) noexcept |
| double | stdev (const VarAccum &v) noexcept |
| double | stdevp (const VarAccum &v) noexcept |
| double | zscore (double mean, double sd, double val) noexcept |
| double | pctile95 (double mean, double sd) noexcept |
| double | pctile99 (double mean, double sd) noexcept |
| double | pctile999 (double mean, double sd) noexcept |
| constexpr std::size_t | ceil (std::size_t dividend, std::size_t divisor) noexcept |
| constexpr std::uint64_t | pow10 (int n) noexcept |
| template<typename StreamT > requires Streamable<StreamT> | |
| StreamT & | operator<< (StreamT &out, const Options &options) |
| template<class StreamT > requires detail::InheritsBasicOStream<StreamT> | |
| StreamT & | operator<< (StreamT &&os, bool value) |
| template<class StreamT > requires detail::InheritsBasicOStream<StreamT> | |
| StreamT & | operator<< (StreamT &&os, short value) |
| template<class StreamT > requires detail::InheritsBasicOStream<StreamT> | |
| StreamT & | operator<< (StreamT &&os, unsigned short value) |
| template<class StreamT > requires detail::InheritsBasicOStream<StreamT> | |
| StreamT & | operator<< (StreamT &&os, int value) |
| template<class StreamT > requires detail::InheritsBasicOStream<StreamT> | |
| StreamT & | operator<< (StreamT &&os, unsigned int value) |
| template<class StreamT > requires detail::InheritsBasicOStream<StreamT> | |
| StreamT & | operator<< (StreamT &&os, long value) |
| template<class StreamT > requires detail::InheritsBasicOStream<StreamT> | |
| StreamT & | operator<< (StreamT &&os, unsigned long value) |
| template<class StreamT > requires detail::InheritsBasicOStream<StreamT> | |
| StreamT & | operator<< (StreamT &&os, long long value) |
| template<class StreamT > requires detail::InheritsBasicOStream<StreamT> | |
| StreamT & | operator<< (StreamT &&os, unsigned long long value) |
| template<class StreamT > requires detail::InheritsBasicOStream<StreamT> | |
| StreamT & | operator<< (StreamT &&os, float value) |
| template<class StreamT > requires detail::InheritsBasicOStream<StreamT> | |
| StreamT & | operator<< (StreamT &&os, double value) |
| template<class StreamT > requires detail::InheritsBasicOStream<StreamT> | |
| StreamT & | operator<< (StreamT &&os, long double value) |
| template<class StreamT > requires detail::InheritsBasicOStream<StreamT> | |
| StreamT & | operator<< (StreamT &os, char ch) |
| template<class StreamT > requires detail::InheritsBasicOStream<StreamT> | |
| StreamT & | operator<< (StreamT &os, signed char ch) |
| template<class StreamT > requires detail::InheritsBasicOStream<StreamT> | |
| StreamT & | operator<< (StreamT &os, unsigned char ch) |
| template<class StreamT > requires detail::InheritsBasicOStream<StreamT> | |
| StreamT & | operator<< (StreamT &os, const char *s) |
| template<class StreamT > requires detail::InheritsBasicOStream<StreamT> | |
| StreamT & | operator<< (StreamT &os, const signed char *s) |
| template<class StreamT > requires detail::InheritsBasicOStream<StreamT> | |
| StreamT & | operator<< (StreamT &os, const unsigned char *s) |
| template<class StreamT > requires detail::InheritsBasicOStream<StreamT> | |
| StreamT & | operator<< (StreamT &os, const std::string &s) |
| template<class StreamT > requires detail::InheritsBasicOStream<StreamT> | |
| StreamT & | operator<< (StreamT &os, std::string_view s) |
| template<class StreamT > requires detail::InheritsBasicOStream<StreamT> | |
| StreamT & | operator<< (StreamT &os, const std::error_code &ec) |
| template<class StreamT , class T > requires (detail::InheritsBasicOStream<StreamT> && std::is_rvalue_reference_v<StreamT&&>) | |
| StreamT && | operator<< (StreamT &&os, const T &value) |
| std::mt19937_64 & | mt19937_64_rng () noexcept |
| template<class IntT > | |
| IntT | randint (IntT a, IntT b) |
| template<typename DerivedT , typename PolicyT > | |
| void | intrusive_ptr_add_ref (const RefCount< DerivedT, PolicyT > *ptr) noexcept |
| template<typename DerivedT , typename PolicyT > | |
| void | intrusive_ptr_release (const RefCount< DerivedT, PolicyT > *ptr) noexcept |
| template<typename ValueT , typename... ArgsT> | |
| boost::intrusive_ptr< ValueT > | make_intrusive (ArgsT &&... args) |
| template<auto FnT> | |
| constexpr auto | bind () noexcept |
| template<typename ClassT > | |
| constexpr auto | bind (ClassT *obj) noexcept |
| template<auto MemFnT, typename ClassT = typename FunctionTraits<decltype(MemFnT)>::ClassType> | |
| constexpr auto | bind (ClassT *obj) noexcept |
| template<std::size_t SizeN> | |
| StoragePtr< SizeN > | make_storage () |
| Returns a block of dynamic storage. | |
| template<typename OStreamT , typename FnT > | |
| auto | make_stream_inserter (FnT fn) |
| Returns a StreamInserter object, automatically deducing functor type from arguments. | |
| void | ltrim (string_view &s) noexcept |
| void | ltrim (string &s) noexcept |
| void | rtrim (string_view &s) noexcept |
| void | rtrim (string &s) noexcept |
| pair< string_view, string_view > | split_pair (string_view s, string_view delim) noexcept |
| pair< string_view, string_view > | split_pair (string_view s, char delim) noexcept |
| pair< string, string > | split_pair (const string &s, string_view delim) |
| pair< string, string > | split_pair (const string &s, char delim) |
| template<typename ValueT > | |
| constexpr ValueT | from_string (std::string_view sv) |
| template<typename ValueT > | |
| constexpr ValueT | from_string (const std::string &s) |
| template<typename ValueT > | |
| constexpr ValueT | from_string (const char *s) |
| template<typename ValueT > | |
| std::string | to_string (ValueT &&val) |
| template<typename ValueT > requires Arithmetic<ValueT> | |
| std::string | to_string (ValueT &&val) |
| template<std::size_t SizeN> | |
| constexpr std::string_view | to_string_view (const char(&val)[SizeN]) noexcept |
| void | trim (std::string_view &s) noexcept |
| void | trim (std::string &s) noexcept |
| std::string_view | ltrim_copy (std::string_view s) noexcept |
| std::string | ltrim_copy (std::string s) noexcept |
| std::string_view | rtrim_copy (std::string_view s) noexcept |
| std::string | rtrim_copy (std::string s) noexcept |
| std::string_view | trim_copy (std::string_view s) noexcept |
| std::string | trim_copy (std::string s) noexcept |
| template<char PadC> | |
| constexpr std::size_t | pstrlen (const char *src, std::size_t n) noexcept |
| template<char PadC, std::size_t SizeN> | |
| constexpr std::size_t | pstrlen (const char(&src)[SizeN]) noexcept |
| template<char PadC> | |
| constexpr std::size_t | pstrcpy (char *dst, const char *src, std::size_t n) noexcept |
| template<char PadC, std::size_t SizeN> | |
| constexpr std::size_t | pstrcpy (char(&dst)[SizeN], const char *src) noexcept |
| template<char PadC> | |
| constexpr std::size_t | pstrcpy (char *dst, std::string_view src, std::size_t n) noexcept |
| template<char PadC, std::size_t SizeN> | |
| constexpr std::size_t | pstrcpy (char(&dst)[SizeN], std::string_view src) noexcept |
| template<char PadC> | |
| constexpr std::size_t | pstrcpyid (char *dst, std::int64_t id, std::size_t n) noexcept |
| template<char PadC, std::size_t SizeN> | |
| constexpr std::size_t | pstrcpyid (char(&dst)[SizeN], std::int64_t id) noexcept |
| template<char PadC> | |
| constexpr std::size_t | lpstrlen (const char *src, std::size_t n) noexcept |
| template<char PadC, std::size_t SizeN> | |
| constexpr std::size_t | lpstrlen (const char(&src)[SizeN]) noexcept |
| template<char PadC> | |
| constexpr std::size_t | lpstrcpy (char *dst, const char *src, std::size_t n) noexcept |
| template<char PadC, std::size_t SizeN> | |
| constexpr std::size_t | lpstrcpy (char(&dst)[SizeN], const char *src) noexcept |
| template<char PadC> | |
| constexpr std::size_t | lpstrcpy (char *dst, std::string_view src, std::size_t n) noexcept |
| template<char PadC, std::size_t SizeN> | |
| constexpr std::size_t | lpstrcpy (char(&dst)[SizeN], std::string_view src) noexcept |
| template<typename... ArgsT> | |
| std::string | make_string (ArgsT &&... args) |
| template<std::size_t MaxN> | |
| constexpr std::string_view | operator+ (const StringBuf< MaxN > &s) noexcept |
| template<std::size_t MaxN, typename StreamT > requires Streamable<StreamT> | |
| StreamT & | operator<< (StreamT &os, const StringBuf< MaxN > &rhs) |
| template<typename... TagsT, typename... ValuesT> | |
| constexpr bool | empty (const detail::Struct< detail::Member< TagsT, ValuesT >... > &s) |
| template<typename... TagsT, typename... ValuesT> | |
| constexpr std::size_t | size (const detail::Struct< detail::Member< TagsT, ValuesT >... > &s) |
| template<typename TagT , typename... TagsT, typename... ValuesT> | |
| constexpr bool | has (const detail::Struct< detail::Member< TagsT, ValuesT >... > &s, TagT tag={}) |
| template<typename TagT , typename... TagsT, typename... ValuesT> | |
| constexpr const auto & | get (const detail::Struct< detail::Member< TagsT, ValuesT >... > &s, TagT tag={}) |
| template<typename TagT , typename... TagsT, typename... ValuesT> | |
| constexpr auto & | get (detail::Struct< detail::Member< TagsT, ValuesT >... > &s, TagT tag={}) |
| template<typename FnT > | |
| constexpr std::size_t | parse_line (std::string_view buf, FnT fn) |
| template<std::size_t N> | |
| constexpr void | split (std::string_view line, std::string_view delims, Row< N > &row) noexcept |
| bool | stob (string_view sv, bool dfl) noexcept |
| double | stod (std::string_view sv, double dfl) noexcept |
| double | fast_stod (std::string_view sv, double dfl) noexcept |
| template<typename ValueT > | |
| auto & | remove_const (const ValueT &ref) |
| constexpr bool | isdigit (int c) noexcept |
| template<typename ValueT > requires std::unsigned_integral<ValueT> | |
| constexpr int | dec_digits (ValueT i) noexcept |
| template<typename ValueT > requires std::signed_integral<ValueT> | |
| constexpr int | dec_digits (ValueT i) noexcept |
| template<typename UIntegerT > requires std::unsigned_integral<UIntegerT> | |
| constexpr int | hex_digits (UIntegerT i) noexcept |
| template<typename ValueT > requires std::integral<ValueT> || std::same_as<ValueT, double> | |
| constexpr ValueT | ston (std::string_view sv) noexcept |
| constexpr std::string_view | bool_to_alpha (bool b) noexcept |
| template<class... Ts> | |
| overloaded (Ts...) -> overloaded< Ts... > | |
| string | get_env (const string &name) |
| template<typename StreamT > requires Streamable<StreamT> | |
| StreamT & | operator<< (StreamT &os, Version ver) |
| std::size_t | hash_value (toolbox::Version ver) |
Variables | |
| constexpr char | ApplicationJson [] {"application/json"} |
| constexpr char | TextHtml [] {"text/html"} |
| constexpr char | TextPlain [] {"text/plain"} |
| constexpr Duration | NoTimeout {-1} |
| constexpr std::size_t | MaxErrSize {511} |
| Maximum error message length. | |
| constexpr detail::ResetState | reset_state {} |
| constexpr auto | Struct = detail::Struct<>{} |
| template<typename T , template< typename... > class Tpl> | |
| constexpr bool | is_instantiation_of_v = is_instantiation_of<T, Tpl>::value |
| template<typename T > | |
| constexpr bool | is_string_v = is_string<T>::value |
| template<typename T > | |
| constexpr bool | is_string_view_v = is_string_view<T>::value |
| template<typename T > | |
| constexpr bool | is_decay_to_cstring_v = is_decay_to_cstring<T>::value |
| template<typename T > | |
| constexpr bool | is_string_type_v = is_string_type<T>::value |
| template<class T , class... Ts> | |
| constexpr bool | is_any_of_v = is_any_of<T, Ts...>::value |
Definition at line 25 of file Allocator.cpp.
Referenced by toolbox::util::Allocator::operator new().
Definition at line 30 of file Allocator.cpp.
Referenced by toolbox::util::Allocator::operator delete().
| TOOLBOX_API void * toolbox::allocate | ( | std::size_t | size | ) |
|
noexcept |