demotool/externals.hh

86 lines
1.6 KiB
C++
Raw Normal View History

2017-09-30 10:37:45 +02:00
// C
#include <stdio.h>
// System (C)
#include <sys/stat.h>
2017-09-30 10:37:45 +02:00
#include <sys/inotify.h>
#include <fcntl.h>
#include <libgen.h>
#include <unistd.h>
// Misc (C)
#include <SDL.h>
#include <GL/glew.h>
// C++ std
#include <vector>
#include <string>
#include <algorithm>
#include <functional>
#include <memory>
#include <fstream>
2017-10-01 11:37:04 +02:00
#include <map>
2017-10-03 16:09:12 +02:00
#include <set>
2017-10-03 13:53:50 +02:00
#include <regex>
2017-10-07 16:56:20 +02:00
#include <unordered_map>
2017-11-03 09:08:19 +01:00
using std::swap;
2017-09-30 10:37:45 +02:00
// ImGui
#include <imgui.h>
// GLM
#include <glm/mat3x3.hpp>
#include <glm/gtx/euler_angles.hpp>
2017-10-31 09:22:38 +01:00
// PicoJSON
#include <picojson.h>
2017-11-03 09:08:19 +01:00
// EBCL
#include <ebcl/Arrays.hh>
#include <ebcl/Strings.hh>
#include <ebcl/HashTables.hh>
using ebcl::T_OwnPtr;
using ebcl::NewOwned;
using ebcl::T_SharedPtr;
using ebcl::NewShared;
2017-11-04 21:23:50 +01:00
using ebcl::T_Optional;
using ebcl::T_Union;
using ebcl::T_Variant;
2017-11-03 09:08:19 +01:00
using ebcl::T_Array;
using ebcl::T_AutoArray;
2017-11-04 21:23:50 +01:00
2017-11-03 09:08:19 +01:00
using ebcl::T_String;
2017-11-04 21:23:50 +01:00
using ebcl::T_StringBuilder;
2017-11-03 09:08:19 +01:00
using ebcl::T_HashIndex;
using ebcl::T_ObjectTable;
using ebcl::T_KeyValueTable;
2017-09-30 10:37:45 +02:00
// Silly decoration macros I use everywhere
#define __rd__
#define __wr__
#define __rw__
2017-10-02 13:51:08 +02:00
// Macros that enable/disable copying/moving
#define NO_COPY( CLS ) \
CLS( CLS const& ) = delete; \
CLS& operator =( CLS const& ) = delete
#define NO_MOVE( CLS ) \
CLS( CLS&& ) = delete; \
CLS& operator =( CLS&& ) = delete
2017-10-09 10:58:03 +02:00
#define DEF_COPY( CLS ) \
CLS( CLS const& ) = default; \
CLS& operator =( CLS const& ) = default
#define DEF_MOVE( CLS ) \
CLS( CLS&& ) noexcept = default; \
CLS& operator =( CLS&& ) noexcept = default
2017-10-02 13:51:08 +02:00
#define COPY( CLS ) \
CLS( CLS const& ); \
CLS& operator =( CLS const& )
#define MOVE( CLS ) \
CLS( CLS&& ) noexcept; \
CLS& operator =( CLS&& ) noexcept