Flow 1.0.0
Flow project: Full implementation reference.
Classes | Namespaces | Macros | Typedefs | Enumerations | Variables
common.hpp File Reference
#include "flow/detail/common.hpp"
#include <boost/chrono/chrono.hpp>
#include <boost/chrono/ceil.hpp>
#include <boost/chrono/round.hpp>
#include <boost/chrono/io/duration_io.hpp>
#include <boost/chrono/io/time_point_io.hpp>
#include <functional>

Go to the source code of this file.

Classes

class  flow::Function< Result(Args...)>
 Intended as the polymorphic function wrapper of choice for Flow, internally and externally; to be used instead of std::function or boost::function. More...
 

Namespaces

namespace  flow
 Catch-all namespace for the Flow project: A collection of various production-quality modules written in modern C++17, originally by ygoldfel.
 

Macros

#define FLOW_OS_LINUX
 Macro that is defined if and only if the compiling environment is Linux. More...
 
#define FLOW_OS_MAC
 Macro that is defined if and only if the compiling environment is Mac OS X or higher macOS (not iOS and such!). More...
 
#define FLOW_OS_WIN
 Macro that is defined if and only if the compiling environment is Windows. More...
 

Typedefs

using flow::uint8_t = unsigned char
 Byte. Best way to represent a byte of binary data. This is 8 bits on all modern systems. More...
 
using flow::int8_t = signed char
 Signed byte. Prefer to use uint8_t when representing binary data. This is 8 bits on all modern systems. More...
 
using flow::Fine_clock = boost::chrono::high_resolution_clock
 Clock used for delicate time measurements, such that the now() method gets the current time relative to some unknown but constant epoch (reference point). More...
 
using flow::Fine_time_pt = Fine_clock::time_point
 A high-res time point as returned by Fine_clock::now() and suitable for precise time math in general. More...
 
using flow::Fine_duration = Fine_clock::duration
 A high-res time duration as computed from two Fine_time_pts. More...
 
using flow::Error_code = boost::system::error_code
 Short-hand for a boost.system error code (which basically encapsulates an integer/enum error code and a pointer through which to obtain a statically stored message string); this is how Flow modules report errors to the user; and we humbly recommended all C++ code use the same techniques. More...
 

Enumerations

enum class  flow::Flow_log_component { flow::S_END_SENTINEL }
 The flow::log::Component payload enumeration comprising various log components used by Flow's own internal logging. More...
 

Variables

const boost::unordered_multimap< Flow_log_component, std::string > flow::S_FLOW_LOG_COMPONENT_NAME_MAP
 The map generated by flow::log macro magic that maps each enumerated value in flow::Flow_log_component to its string representation as used in log output and verbosity config. More...
 

Macro Definition Documentation

◆ FLOW_OS_LINUX

#define FLOW_OS_LINUX

Macro that is defined if and only if the compiling environment is Linux.

Definition at line 83 of file common.hpp.

◆ FLOW_OS_MAC

#define FLOW_OS_MAC

Macro that is defined if and only if the compiling environment is Mac OS X or higher macOS (not iOS and such!).

Definition at line 86 of file common.hpp.

◆ FLOW_OS_WIN

#define FLOW_OS_WIN

Macro that is defined if and only if the compiling environment is Windows.

Definition at line 89 of file common.hpp.