DCSModulesAPI  1.0.0
DCS sub project containing all the control modules as libraries.
Classes | Namespaces | Macros | Typedefs | Functions
DCS_ModuleUtils.h File Reference

Container for all the exported symbols that fall in the Utils category. More...

#include "../../config/exports.h"
#include <iostream>
#include <chrono>
#include <mutex>
#include <map>
#include <string>
#include <future>

Go to the source code of this file.

Classes

class  DCS::Utils::String
 A wrapper class used to export a simple string to the client side. More...
 
struct  DCS::Utils::BasicString
 A very simple string buffer to hold char values. Used for string information manipulations via tcp/ip mostly. More...
 
class  DCS::Utils::Logger
 This class enables writing to a single (or multiple) buffer(s) for logging. Thread-safe. More...
 
class  DCS::Utils::AsyncItem< T >
 A class that holds possible future data. More...
 
struct  DCS::Timer::SystemTimer
 Holds data about when a timer was first created. More...
 
struct  DCS::Timer::Timestamp
 Represents a timestamp divided fieldwise. More...
 

Namespaces

 DCS::Timer
 Timing related utilities.
 

Macros

#define LOG_LVL(lvl, msg, ...)   DCS::Utils::Logger::lvl(__FILE__, msg, __VA_ARGS__)
 Alias to DCS::Utils::Logger::lvl(FILE, msg, VA_ARGS)
 
#define LOG_DEBUG(msg, ...)   LOG_LVL(Debug, msg, __VA_ARGS__)
 Alias to LOG_LVL(Debug, msg, VA_ARGS)
 
#define LOG_MESSAGE(msg, ...)   LOG_LVL(Message, msg, __VA_ARGS__)
 Alias to LOG_LVL(Message, msg, VA_ARGS)
 
#define LOG_WARNING(msg, ...)   LOG_LVL(Warning, msg, __VA_ARGS__)
 Alias to LOG_LVL(Warning, msg, VA_ARGS)
 
#define LOG_ERROR(msg, ...)   LOG_LVL(Error, msg, __VA_ARGS__)
 Alias to LOG_LVL(Error, msg, VA_ARGS)
 
#define LOG_CRITICAL(msg, ...)   LOG_LVL(Critical, msg, __VA_ARGS__)
 Alias to LOG_LVL(Critical, msg, VA_ARGS)
 
#define ENUM_FLAG_OPERATOR(T, X)   inline T operator X (T lhs, T rhs) { return (T) (static_cast<std::underlying_type_t <T>>(lhs) X static_cast<std::underlying_type_t <T>>(rhs)); }
 
#define ENUM_FLAGS(T)
 

Typedefs

typedef signed long long DCS::i64
 Equivalent to int_64t.
 
typedef unsigned long long DCS::u64
 Equivalent to uint_64t.
 
typedef signed long DCS::i32
 Equivalent to int_32t.
 
typedef unsigned long DCS::u32
 Equivalent to uint_32t.
 
typedef short DCS::i16
 Equivalent to int_16t.
 
typedef unsigned short DCS::u16
 Equivalent to uint_16t.
 
typedef signed char DCS::i8
 Equivalent to int_8t.
 
typedef unsigned char DCS::u8
 Equivalent to uint_8t.
 
typedef float DCS::f32
 Equivalent to float.
 
typedef double DCS::f64
 Equivalent to double.
 
typedef void * DCS::GenericHandle
 A generic opaque handle that is only meaningful for the API.
 

Functions

DCS_API SystemTimer DCS::Timer::New ()
 Creates a new SystemTimer.
 
DCS_API void DCS::Timer::Delete (SystemTimer timer)
 Deletes a SystemTimer.
 
DCS_API Timestamp DCS::Timer::GetTimestamp (SystemTimer timer)
 Gives a timestamp relative to timer in Timestamp format. More...
 
DCS_API Utils::String DCS::Timer::GetTimestampString (SystemTimer timer)
 Gives a timestamp relative to timer in Utils::String format. More...
 
DCS_API Utils::String DCS::Timer::GetTimestampStringSimple (SystemTimer timer)
 Gives a timestamp relative to timer in Utils::String format (displays day/hour/minute duration only). More...
 
DCS_API i64 DCS::Timer::GetNanoseconds (SystemTimer timer)
 Gives number of nanoseconds passed relative to timer. More...
 

Detailed Description

Container for all the exported symbols that fall in the Utils category.

Also contains library common code.

Author
Cesar Godinho
Version
1.0
Date
2020/10/16

Macro Definition Documentation

#define ENUM_FLAGS (   T)
Value:
enum class T; \
inline T operator ~ (T t) { return (T) (~static_cast<std::underlying_type_t <T>>(t)); } \
ENUM_FLAG_OPERATOR(T,|) \
ENUM_FLAG_OPERATOR(T,^) \
ENUM_FLAG_OPERATOR(T,&) \
enum class T