9#include "MantidDataObjects/DllConfig.h"
10#include "MantidHistogramData/HistogramE.h"
11#include "MantidHistogramData/HistogramY.h"
17#include "Poco/RWLock.h"
23namespace DataObjects {
74 void ensureEnoughBuffersY(
size_t thread_num)
const;
75 void ensureEnoughBuffersE(
size_t thread_num)
const;
89 size_t MRUSize()
const;
std::map< DeltaEMode::Type, std::string > index
This is a container for the MRU (most-recently-used) list of generated histograms.
Poco::RWLock m_changeMruListsMutexE
Mutex when adding entries in the MRU list.
std::vector< std::unique_ptr< mru_listE > > m_bufferedDataE
The most-recently-used list of dataE histograms.
std::vector< std::unique_ptr< mru_listY > > m_bufferedDataY
The most-recently-used list of dataY histograms.
Poco::RWLock m_changeMruListsMutexY
This little class holds data and an index marker that is used for uniqueness.
void setIndex(const uintptr_t the_index)
Set the unique index value.
uintptr_t m_index
Unique index value.
TypeWithMarker(const TypeWithMarker &other)=delete
TypeWithMarker & operator=(const TypeWithMarker &other)=delete
T m_data
Pointer to a vector of data.
TypeWithMarker(const uintptr_t the_index)
Constructor.
uintptr_t hashIndexFunction() const
Function returns a unique index, used for hashing for MRU list.
An MRU (most recently used) list keeps record of the last n inserted items, listing first the newer o...
Implements a copy on write data template.
Helper class which provides the Collimation Length for SANS instruments.