#pragma once
#include "file.h"
#include <string>
#include <stdint.h>

namespace M3D
{

	/**
	 * Обертка для функции mmap
	 * Автоматически демапирует файл в деструкторе
	 * @author Denis A. Biryukov <denis.birukov@gmail.com>
	 */
	class MMAP
	{
		public:
			MMAP ( const std::string& fname );
                        MMAP ( const char *fname );
                        MMAP ();
                        void mmap(const char *fname);
                        char* get_pointer(){return _mapped_file_;}
			~MMAP();
		private:
                        char *_mapped_file_;
                        File _file_;
                        uint32_t _file_size_;
	};

}

