18#ifndef O2_DCS_DATAPOINT_IDENTIFIER_H
19#define O2_DCS_DATAPOINT_IDENTIFIER_H
27#include <unordered_map>
54 const uint64_t pt1,
const uint64_t pt2,
const uint64_t pt3,
55 const uint64_t pt4,
const uint64_t pt5,
const uint64_t pt6,
56 const uint64_t pt7,
const uint64_t pt8) noexcept : pt1(pt1), pt2(pt2), pt3(pt3), pt4(pt4), pt5(pt5), pt6(pt6), pt7(pt7), pt8(pt8) {}
81 strncpy((
char*)
this, alias.c_str(), 62);
82 ((
char*)&pt8)[7] =
type;
109 const std::string& alias,
112 strncpy((
char*)&dpid, alias.c_str(), 62);
113 ((
char*)&dpid.pt8)[7] =
type;
125 const uint64_t*
const data)
noexcept
127 std::strncpy((
char*)&dpid, (
char*)
data, 62);
128 ((
char*)&dpid)[63] = ((
data[7] & 0xFF00000000000000) >> 56);
140 constexpr char mask = 0x7F;
142 return (memcmp((
char*)
this, (
char*)&
other, 63) == 0) &&
154 return !(*
this ==
other);
185 return (
DeliveryType)((pt8 & 0xFF00000000000000) >> 56);
228struct is_messageable;
240struct hash<
o2::dcs::DataPointIdentifier> {
243 return std::hash<uint64_t>{}(dpid.
hash_code());
248struct is_trivially_copyable<
o2::dcs::DataPointIdentifier> : std::true_type {
ClassDefNV(DataPointIdentifier, 1)
DataPointIdentifier(const std::string &alias, const DeliveryType type) noexcept
friend std::ostream & operator<<(std::ostream &os, const DataPointIdentifier &dpid) noexcept
DataPointIdentifier() noexcept
DeliveryType get_type() const noexcept
bool operator==(const DataPointIdentifier &other) const
static void FILL(const DataPointIdentifier &dpid, const std::string &alias, const DeliveryType type) noexcept
DataPointIdentifier(const DataPointIdentifier &src) noexcept
static void FILL(const DataPointIdentifier &dpid, const uint64_t *const data) noexcept
bool operator!=(const DataPointIdentifier &other) const
size_t hash_code() const noexcept
~DataPointIdentifier() noexcept=default
const char *const get_alias() const noexcept
DataPointIdentifier & operator=(const DataPointIdentifier &src) noexcept
GLint GLint GLsizei GLint GLenum GLenum type
uint64_t hash_code(const std::string &input) noexcept
std::string show(const DeliveryType type)
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...
Defining DataPointCompositeObject explicitly as copiable.
uint64_t operator()(const o2::dcs::DataPointIdentifier &dpid) const
std::size_t operator()(const o2::dcs::DataPointIdentifier &dpid) const
VectorOfTObjectPtrs other