// stdafx.h : include file for standard system include files,
// or project specific include files that are used frequently, but
// are changed infrequently
//
#pragma once

#ifdef _MSC_VER
#include "targetver.h"

#define WIN32_LEAN_AND_MEAN             // Exclude rarely-used stuff from Windows headers
#endif

#include <algorithm>
#include <fstream>
#include <iostream>
#include <string>
#include <vector>

#include <ctype.h>
#include <errno.h>
#include <memory.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdarg.h>
#include <utility>

#ifdef _MSC_VER

#include <tchar.h>
#include <crtdbg.h>
#include <windows.h>
#include <direct.h>
#include <wincrypt.h>
#include <fcntl.h>
#include <io.h>

#else // _MSC_VER

#include <assert.h>
#include <fcntl.h>
#include <sys/stat.h>
#include <sys/time.h>
#include <sys/types.h>
#include <sys/mman.h>
#include <unistd.h>

// MAP_ANONYMOUS is called MAP_ANON on OS X
#ifndef MAP_ANONYMOUS
#define MAP_ANONYMOUS MAP_ANON
#endif

#endif // _MSC_VER

