OpenRTM-aist
2.1.0
Toggle main menu visibility
読み取り中…
検索中…
一致する文字列を見つけられません
Timestamp.h
[詳解]
1
// -*- C++ -*-
17
18
#ifndef RTM_TIMESTAMP_H
19
#define RTM_TIMESTAMP_H
20
21
#include <
rtm/ConnectorListener.h
>
22
#include <chrono>
23
45
template
<
class
DataType>
46
void
setTimestamp
(DataType& data)
47
{
48
auto
now = std::chrono::system_clock::now().time_since_epoch();
49
auto
sec = std::chrono::duration_cast<std::chrono::seconds>(now);
50
auto
nsec = std::chrono::duration_cast<std::chrono::nanoseconds>(now - sec);
51
// We do not consider overflow of tm.sec.
52
data.tm.sec =
static_cast<
decltype(data.tm.sec)
>
(sec.count());
53
data.tm.nsec =
static_cast<
decltype(data.tm.nsec)
>
(nsec.count());
54
}
55
56
namespace
RTC
57
{
58
template
<
class
DataType>
59
class
Timestamp
60
:
public
ConnectorDataListenerT
<DataType>
61
{
62
USE_CONNLISTENER_STATUS;
63
public
:
64
Timestamp
(
const
char
* ts_type) :
m_tstype
(ts_type) {}
65
~Timestamp
()
override
=
default
;
66
ReturnCode
operator()
(
ConnectorInfo
& info, DataType& data)
override
67
{
68
if
(info.
properties
[
"timestamp_policy"
] !=
m_tstype
)
69
{
70
return
NO_CHANGE
;
71
}
72
setTimestamp<DataType>
(data);
73
return
DATA_CHANGED
;
74
}
75
std::string
m_tstype
;
76
};
77
}
// namespace RTC
78
79
#endif
// RTM_TIMESTAMP_H
ConnectorListener.h
connector listener class
setTimestamp
void setTimestamp(DataType &data)
データにタイムスタンプをセットする
Definition
Timestamp.h:46
RTC::ConnectorDataListenerT::ConnectorDataListenerT
ConnectorDataListenerT()=default
コンストラクタ
RTC::ConnectorInfo
ConnectorInfo クラス
Definition
ConnectorBase.h:50
RTC::ConnectorInfo::properties
coil::Properties properties
プロパティ
Definition
ConnectorBase.h:178
RTC::ConnectorListenerStatus::NO_CHANGE
@ NO_CHANGE
Definition
ConnectorListener.h:71
RTC::ConnectorListenerStatus::DATA_CHANGED
@ DATA_CHANGED
Definition
ConnectorListener.h:73
RTC::Timestamp::operator()
ReturnCode operator()(ConnectorInfo &info, DataType &data) override
仮想コールバックメソッド
Definition
Timestamp.h:66
RTC::Timestamp::~Timestamp
~Timestamp() override=default
RTC::Timestamp::m_tstype
std::string m_tstype
Definition
Timestamp.h:75
RTC::Timestamp::Timestamp
Timestamp(const char *ts_type)
Definition
Timestamp.h:64
RTC
RTコンポーネント
構築:
1.17.0