18 #ifndef LUNCHBOX_LOCKABLE_H    19 #define LUNCHBOX_LOCKABLE_H    23 #include <boost/noncopyable.hpp>    34 template <
class D, 
class L = std::mutex>
    62     bool operator==(
const D& rhs)
 const { 
return (data == rhs); }
    75 template <
class D, 
class L>
    76 inline std::ostream& operator<<(std::ostream& os, const Lockable<D, L>& l)
    78     return os << 
disableFlush << 
"<" << l.lock.isSet() << 
" " << l.data << 
">"    82 #endif // LUNCHBOX_LOCKABLE_H std::ostream & enableFlush(std::ostream &os)
Re-enable flushing of the Log stream. 
 
D * operator->()
Access the held data. 
 
Lockable & operator=(const D &rhs)
Assign another value to the data. 
 
Lockable(const D &value)
Construct and initialize a new data structure. 
 
const D * operator->() const 
Access the held data. 
 
A convenience structure to hold data together with a lock for access. 
 
Lockable(const P1 &p1)
Construct and initialize a new data structure. 
 
const D & operator*() const 
Access the held data. 
 
Abstraction layer and common utilities for multi-threaded programming. 
 
D & operator*()
Access the held data. 
 
This file contains logging classes. 
 
Lockable()
Construct a new lockable data structure. 
 
std::ostream & disableFlush(std::ostream &os)
Disable flushing of the Log stream. 
 
bool operator==(const D &rhs) const