90 const T*
get()
const {
110 std::shared_ptr<const T>
data,
124 template <
typename T>
143 template <
typename Observable,
typename Traits>
146 template <
typename T>
153 return getSnapshot();
168 template <
typename Observable,
typename Traits>
185 template <
typename F>
188 template <
typename F>
191 template <
typename T>
199 return getSnapshotRef();
210 template <
typename T>
215 template <
typename F>
220 template <
typename T,
bool CacheInThreadLocal>
223 template <
typename T>
228 template <
typename T>
233 template <
typename T,
bool CacheInThreadLocal>
observer_detail::Core::Ptr core_
Snapshot< T > operator*() const
size_t getVersionLastChange()
bool needRefresh(const Snapshot< T > &snapshot) const
size_t getVersion() const
constexpr detail::Map< Move > move
const T * operator->() const
—— Concurrent Priority Queue Implementation ——
std::shared_ptr< Context > context_
std::shared_ptr< const T > data_
Observer< observer_detail::ResultOfUnwrapSharedPtr< F > > makeObserver(F &&creator)
const T & operator*() const
std::shared_ptr< Core > Ptr
TLObserver< T > makeTLObserver(Observer< T > observer)
constexpr auto data(C &c) -> decltype(c.data())
std::shared_ptr< const T > getShared() const
const Snapshot< T > & operator*() const
folly::ThreadLocal< Snapshot< T > > snapshot_
typename ObserverTraits< T, CacheInThreadLocal >::type ObserverT
const observer_detail::Core * core_
Snapshot(const observer_detail::Core &core, std::shared_ptr< const T > data, size_t version)