#ifndef DDS_MEMORY_H
#define DDS_MEMORY_H
#include <vector>
#include <api/dds.h>
#include <moves/moves.hpp>
#include <system/thread_data.hpp>
#ifdef DDS_AB_STATS
#include "ab_stats.hpp"
#endif
#ifdef DDS_TIMING
#include <system/timer_list.hpp>
#endif
class Memory
{
private:
std::vector<std::string> threadSizes;
public:
Memory();
~Memory();
void ReturnThread(const unsigned thrId);
void Resize(
const unsigned n,
const TTmemory flag,
const int memDefault_MB,
const int memMaximum_MB);
unsigned NumThreads() const;
double MemoryInUseMB(const unsigned thrId) const;
std::string ThreadSize(const unsigned thrId) const;
};
#endif