Branch: refs/heads/master
Home:
https://github.com/tribe29/checkmk
Commit: 9fafc923318def276c036b9891a97999a8d60b6a
https://github.com/tribe29/checkmk/commit/9fafc923318def276c036b9891a97999a…
Author: Mathias Laurin <mathias.laurin(a)tribe29.com>
Date: 2020-01-21 (Tue, 21 Jan 2020)
Changed paths:
A livestatus/src/AttributeListLambdaColumn.h
A livestatus/src/AttributesLambdaColumn.cc
A livestatus/src/AttributesLambdaColumn.h
A livestatus/src/BoolLambdaColumn.h
M livestatus/src/CustomVarsDictColumn.h
M livestatus/src/IntLambdaColumn.h
A livestatus/src/ListLambdaColumn.h
M livestatus/src/Table.h
M livestatus/src/TableCommands.cc
M livestatus/src/TableCommands.h
M livestatus/src/TableContacts.cc
M livestatus/src/TableContacts.h
M livestatus/src/TableLog.cc
Log Message:
-----------
Rewrite TableContacts without pointer arithmetic
Introduce `Table::IRow`: Row::rawData<>() returns the data with a
static_cast and static_cast only safely returns the type that was passed
to the void*. This type is now `Table::IRow`. Note that `Table::IRow`
is dumb and must be dynamically typed to something useful.
This patch adds a few more `*LambdaColumn`s that do not
use `Column::Offsets`.
The AttributeListLambdaColumn should probably be refactored into a more
generic dict column. There already is a `dict` type for the columns
anyway. However, this is not necessary now and may be done when the
tables do not rely on pointer arithmetic anymore.
CMK-3483
Change-Id: I9b089c997c636c8bc62f5d6d462e50ae5147c3b3