Thrill  0.1
json_logger.hpp File Reference
#include <tlx/meta/call_foreach.hpp>
#include <array>
#include <cassert>
#include <initializer_list>
#include <memory>
#include <mutex>
#include <sstream>
#include <string>
#include <vector>
+ Include dependency graph for json_logger.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  JsonBeginObj
 A special class to output verbatim text. More...
 
class  JsonEndObj
 A special class to output verbatim text. More...
 
class  JsonLine
 JsonLine is an object used to aggregate a set of key:value pairs for output into a JSON log. More...
 
struct  JsonLine::ArrayTag
 
struct  JsonLine::DictionaryTag
 
struct  JsonLinePutSwitch< Type >
 
class  JsonLogger
 JsonLogger is a receiver of JSON output objects for logging. More...
 
class  JsonVerbatim
 A special class to output verbatim text. More...
 

Namespaces

 thrill
 
 thrill::common
 Contains many common tools and helpers shared by higher layers. See common.
 

Macros

#define THRILL_COMMON_JSON_LOGGER_HEADER
 

Typedefs

template<typename Type >
using Array = Type[]
 A template to make writing temporary arrays easy: Array<int>{ 1, 2, 3 }. More...
 

Functions

static JsonLine & Put (JsonLine &line, bool const &value)
 
static JsonLine & Put (JsonLine &line, int const &value)
 
static JsonLine & Put (JsonLine &line, unsigned int const &value)
 
static JsonLine & Put (JsonLine &line, long const &value)
 
static JsonLine & Put (JsonLine &line, unsigned long const &value)
 
static JsonLine & Put (JsonLine &line, long long const &value)
 
static JsonLine & Put (JsonLine &line, unsigned long long const &value)
 
static JsonLine & Put (JsonLine &line, double const &value)
 
static JsonLine & Put (JsonLine &line, const char *const &str)
 
static JsonLine & Put (JsonLine &line, std::string const &str)
 
template<typename Type , std::size_t N>
static JsonLine & Put (JsonLine &line, const Type(&arr)[N])
 
template<typename Type >
static JsonLine & Put (JsonLine &line, std::initializer_list< Type > const &list)
 
template<typename Type >
static JsonLine & Put (JsonLine &line, std::vector< Type > const &vec)
 
template<typename Type , std::size_t N>
static JsonLine & Put (JsonLine &line, std::array< Type, N > const &arr)
 
static JsonLine & Put (JsonLine &line, JsonVerbatim const &verbatim)
 

Macro Definition Documentation

◆ THRILL_COMMON_JSON_LOGGER_HEADER

#define THRILL_COMMON_JSON_LOGGER_HEADER

Definition at line 15 of file json_logger.hpp.