aligator
0.19.0
A versatile and efficient C++ library for real-time constrained trajectory optimization.
Toggle main menu visibility
Loading...
Searching...
No Matches
logger.hpp
Go to the documentation of this file.
1
3
#pragma once
4
5
#include "
string-hash.hpp
"
6
7
#include <string_view>
8
#include <boost/unordered_map.hpp>
9
10
namespace
aligator
{
11
using
uint
=
unsigned
int;
12
13
constexpr
std::string_view
int_format
=
"{: >{}d} "
;
14
constexpr
std::string_view
sci_format
=
"{: >{}.3e} "
;
15
constexpr
std::string_view
dbl_format
=
"{: >{}.3g} "
;
16
struct
LogColumn
{
17
std::string_view
name
;
18
std::string_view
format
;
19
uint
width
;
20
};
21
22
// log columns names and widths
23
static
const
LogColumn
BASIC_KEYS
[12] = {
24
{
"iter"
,
int_format
, 5U}, {
"alpha"
,
sci_format
, 10U},
25
{
"inner_crit"
,
sci_format
, 11U}, {
"prim_err"
,
sci_format
, 10U},
26
{
"dual_err"
,
sci_format
, 10U}, {
"preg"
,
sci_format
, 10U},
27
{
"cost"
,
sci_format
, 10U}, {
"dphi0"
,
sci_format
, 11U},
28
{
"merit"
,
sci_format
, 10U}, {
"ΔM"
,
sci_format
, 11U},
29
{
"aliter"
,
int_format
, 7U}, {
"mu"
,
dbl_format
, 7U}};
30
32
struct
Logger
{
33
bool
active
=
true
;
34
35
Logger
() =
default
;
36
37
void
printHeadline
();
38
void
log
();
39
void
finish
(
bool
conv);
40
void
reset
();
41
42
void
addColumn
(std::string_view name,
uint
width, std::string_view format);
43
void
addColumn
(
LogColumn
col) {
addColumn
(col.
name
, col.
width
, col.
format
); }
44
45
void
addEntry
(std::string_view name,
double
val);
46
void
addEntry
(std::string_view name,
size_t
val);
47
48
protected
:
49
std::vector<std::string>
m_columnNames
;
// in insertion order
50
boost::unordered_map<std::string_view, std::pair<uint, std::string>,
51
ExtendedStringHash
>
52
m_colSpecs
;
// column sizes and formats
53
boost::unordered_map<std::string_view, std::string, ExtendedStringHash>
54
m_currentLine
;
// iterate using order
55
};
56
57
}
// namespace aligator
aligator
Main package namespace.
Definition
action-model-wrap.hpp:14
aligator::sci_format
constexpr std::string_view sci_format
Definition
logger.hpp:14
aligator::uint
unsigned int uint
Definition
logger.hpp:11
aligator::BASIC_KEYS
static const LogColumn BASIC_KEYS[12]
Definition
logger.hpp:23
aligator::dbl_format
constexpr std::string_view dbl_format
Definition
logger.hpp:15
aligator::int_format
constexpr std::string_view int_format
Definition
logger.hpp:13
string-hash.hpp
aligator::ExtendedStringHash
Extended hashing function for strings which supports const char* and std::string_view.
Definition
string-hash.hpp:8
aligator::LogColumn
Definition
logger.hpp:16
aligator::LogColumn::width
uint width
Definition
logger.hpp:19
aligator::LogColumn::format
std::string_view format
Definition
logger.hpp:18
aligator::LogColumn::name
std::string_view name
Definition
logger.hpp:17
aligator::Logger::addEntry
void addEntry(std::string_view name, double val)
aligator::Logger::addEntry
void addEntry(std::string_view name, size_t val)
aligator::Logger::reset
void reset()
aligator::Logger::m_colSpecs
boost::unordered_map< std::string_view, std::pair< uint, std::string >, ExtendedStringHash > m_colSpecs
Definition
logger.hpp:52
aligator::Logger::m_columnNames
std::vector< std::string > m_columnNames
Definition
logger.hpp:49
aligator::Logger::Logger
Logger()=default
aligator::Logger::addColumn
void addColumn(std::string_view name, uint width, std::string_view format)
aligator::Logger::active
bool active
Definition
logger.hpp:33
aligator::Logger::m_currentLine
boost::unordered_map< std::string_view, std::string, ExtendedStringHash > m_currentLine
Definition
logger.hpp:54
aligator::Logger::finish
void finish(bool conv)
aligator::Logger::addColumn
void addColumn(LogColumn col)
Definition
logger.hpp:43
aligator::Logger::printHeadline
void printHeadline()
aligator::Logger::log
void log()
include
aligator
utils
logger.hpp
Generated by
1.17.0