Skip to content

Commit de2a0d4

Browse files
committed
Extract implemention of SinkNonBlocking member functions.
1 parent 4863888 commit de2a0d4

File tree

1 file changed

+24
-13
lines changed

1 file changed

+24
-13
lines changed

src/Sink.hpp

+24-13
Original file line numberDiff line numberDiff line change
@@ -45,21 +45,12 @@ class SinkNonBlocking : public SinkBase<T>
4545
{
4646
public:
4747

48-
SinkNonBlocking();
48+
SinkNonBlocking() { }
4949
virtual ~SinkNonBlocking() { }
5050

51-
virtual T read() override
52-
{
53-
_mutex.lock();
54-
return _data;
55-
_mutex.unlock();
56-
}
57-
virtual void inject(T const & value) override
58-
{
59-
_mutex.lock();
60-
_data = value;
61-
_mutex.unlock();
62-
}
51+
virtual T read() override;
52+
virtual void inject(T const & value) override;
53+
6354

6455
private:
6556

@@ -90,6 +81,26 @@ class SinkBlocking : public SinkBase<T>
9081

9182
};
9283

84+
/**************************************************************************************
85+
* PUBLIC MEMBER FUNCTIONS - SinkNonBlocking
86+
**************************************************************************************/
87+
88+
template<typename T>
89+
T SinkNonBlocking<T>::read()
90+
{
91+
_mutex.lock();
92+
return _data;
93+
_mutex.unlock();
94+
}
95+
96+
template<typename T>
97+
void SinkNonBlocking<T>::inject(T const & value)
98+
{
99+
_mutex.lock();
100+
_data = value;
101+
_mutex.unlock();
102+
}
103+
93104
/**************************************************************************************
94105
* PUBLIC MEMBER FUNCTIONS - SinkBlocking
95106
**************************************************************************************/

0 commit comments

Comments
 (0)