18#ifndef O2_DCS_DATAPOINT_IDENTIFIER_H
19#define O2_DCS_DATAPOINT_IDENTIFIER_H
27#include <unordered_map>
74 strncpy((
char*)
this, alias.c_str(), 62);
75 ((
char*)&pt8)[7] =
type;
96 const std::string& alias,
99 strncpy((
char*)&dpid, alias.c_str(), 62);
100 ((
char*)&dpid.pt8)[7] =
type;
112 const uint64_t*
const data)
noexcept
114 std::strncpy((
char*)&dpid, (
char*)
data, 62);
115 ((
char*)&dpid)[63] = ((
data[7] & 0xFF00000000000000) >> 56);
127 constexpr char mask = 0x7F;
129 return (memcmp((
char*)
this, (
char*)&
other, 63) == 0) &&
141 return !(*
this ==
other);
172 return (
DeliveryType)((pt8 & 0xFF00000000000000) >> 56);
215struct hash<
o2::dcs::DataPointIdentifier> {
218 return std::hash<uint64_t>{}(dpid.
hash_code());
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
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(const DataPointIdentifier &src) noexcept=default
~DataPointIdentifier() noexcept=default
const char *const get_alias() const noexcept
DataPointIdentifier & operator=(const DataPointIdentifier &src) noexcept=default
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 ...
uint64_t operator()(const o2::dcs::DataPointIdentifier &dpid) const
std::size_t operator()(const o2::dcs::DataPointIdentifier &dpid) const
VectorOfTObjectPtrs other