Version: 1.0
Classes | Macros | Typedefs | Functions | Variables
utilities.h File Reference
#include <algorithm>
#include <iomanip>
#include <string>
#include <sstream>
#include <filesystem>
#include "config_data.h"
#include "performance_evaluator.h"

Go to the source code of this file.

Classes

struct  nodeid
 

Macros

#define DEFINE_ENUM_CLASS_OR_OPERATOR(class_name)
 This macro serves to simplify the definition of flags, it takes the name of an enum class as input and defines the operator| for that class. More...
 
#define DEFINE_ENUM_CLASS_AND_OPERATOR(class_name)
 This macro serves to simplify the definition of flags, it takes the name of an enum class as input and defines the operator& for that class. More...
 
#define DEFINE_ENUM_CLASS_FLAGS(class_name, ...)
 
#define LOG(message, instructions)   std::cout << (message) << "... "; instructions std::cout << "done.\n"
 
#define TLOG(message, instructions)   std::cout << (message) << "... "; tlog_pe.start(); instructions std::cout << "done. " << tlog_pe.stop() << " ms.\n";
 

Typedefs

using uint = uint32_t
 

Functions

std::string binary (size_t u, size_t nbits)
 
template<typename T >
std::string zerostr (const T &val, size_t n)
 
template<typename T >
void StringSplit (const std::string &str, T &cont, char delim='+')
 

Variables

ConfigData conf
 

Macro Definition Documentation

◆ DEFINE_ENUM_CLASS_AND_OPERATOR

#define DEFINE_ENUM_CLASS_AND_OPERATOR (   class_name)
Value:
constexpr bool operator&(const enum class_name self_value, const enum class_name in_value) { \
return static_cast<bool>(static_cast<uint32_t>(self_value) & static_cast<uint32_t>(in_value)); \
} \
constexpr bool operator&(const enum GenerateConditionActionCodeFlags self_value, const enum GenerateConditionActionCodeFlags in_value)

This macro serves to simplify the definition of flags, it takes the name of an enum class as input and defines the operator& for that class.

Definition at line 36 of file utilities.h.

◆ DEFINE_ENUM_CLASS_FLAGS

#define DEFINE_ENUM_CLASS_FLAGS (   class_name,
  ... 
)
Value:
enum class class_name : uint32_t { \
__VA_ARGS__ \
}; \
DEFINE_ENUM_CLASS_OR_OPERATOR(class_name) \
DEFINE_ENUM_CLASS_AND_OPERATOR(class_name) \

Definition at line 41 of file utilities.h.

◆ DEFINE_ENUM_CLASS_OR_OPERATOR

#define DEFINE_ENUM_CLASS_OR_OPERATOR (   class_name)
Value:
constexpr enum class_name operator|(const enum class_name self_value, const enum class_name in_value) { \
return static_cast<enum class_name>(static_cast<uint32_t>(self_value) | static_cast<uint32_t>(in_value)); \
} \

This macro serves to simplify the definition of flags, it takes the name of an enum class as input and defines the operator| for that class.

Definition at line 28 of file utilities.h.

◆ LOG

#define LOG (   message,
  instructions 
)    std::cout << (message) << "... "; instructions std::cout << "done.\n"

Definition at line 90 of file utilities.h.

◆ TLOG

#define TLOG (   message,
  instructions 
)    std::cout << (message) << "... "; tlog_pe.start(); instructions std::cout << "done. " << tlog_pe.stop() << " ms.\n";

Definition at line 93 of file utilities.h.

Typedef Documentation

◆ uint

using uint = uint32_t

Definition at line 21 of file utilities.h.

Function Documentation

◆ binary()

std::string binary ( size_t  u,
size_t  nbits 
)

Definition at line 11 of file utilities.cpp.

◆ StringSplit()

template<typename T >
void StringSplit ( const std::string &  str,
T &  cont,
char  delim = '+' 
)

Definition at line 77 of file utilities.h.

◆ zerostr()

template<typename T >
std::string zerostr ( const T &  val,
size_t  n 
)

Definition at line 69 of file utilities.h.

Variable Documentation

◆ conf

ConfigData conf
extern

Definition at line 9 of file utilities.cpp.