xenia/src/poly
2015-03-01 12:26:11 -08:00
..
ui Hacktastic GPU trace viewer; textures, shaders, state, etc. 2015-03-01 12:26:11 -08:00
assert.h Fix #include format. 2015-01-31 22:49:47 -08:00
atomic.h Fix #include format. 2015-01-31 22:49:47 -08:00
byte_order.h Fixing vswprintf and adding vscwprintf. 2015-02-01 22:44:33 -08:00
config.h Cleaning up asserts and file/line macros. 2014-07-12 16:51:52 -07:00
cxx_compat.h Fix #include format. 2015-01-31 22:49:47 -08:00
debugging.h Fix #include format. 2015-01-31 22:49:47 -08:00
debugging_mac.cc Cross-platformizing MMIO stuff. 2014-07-29 22:12:39 -07:00
debugging_win.cc Fix #include format. 2015-01-31 22:49:47 -08:00
delegate.h Moving delegate to poly. 2014-12-31 19:26:51 -08:00
fs.cc Simple UI for frame seeking. 2015-02-21 11:19:00 -08:00
fs.h Adjustments to wildcard engine 2015-02-17 22:42:01 +00:00
fs_win.cc Content enumeration. 2015-02-12 16:57:52 -08:00
logging.cc Fix #include format. 2015-01-31 22:49:47 -08:00
logging.h Fix #include format. 2015-01-31 22:49:47 -08:00
main.h Switching around entry point to stop VC2015 compiler crashes >_> 2015-02-12 07:50:55 -08:00
main_posix.cc Mostly fixing up alloy clang build. 2014-08-18 22:01:55 -07:00
main_win.cc Fix #include format. 2015-01-31 22:49:47 -08:00
mapped_memory.h GPU recording (--trace_gpu=file) and playback (gpu-trace-viewer file). 2015-02-20 07:47:06 -08:00
mapped_memory_posix.cc Mostly fixing up alloy clang build. 2014-08-18 22:01:55 -07:00
mapped_memory_win.cc GPU recording (--trace_gpu=file) and playback (gpu-trace-viewer file). 2015-02-20 07:47:06 -08:00
math.cc Fix #include format. 2015-01-31 22:49:47 -08:00
math.h Fix #include format. 2015-01-31 22:49:47 -08:00
memory.cc Fix #include format. 2015-01-31 22:49:47 -08:00
memory.h Fix #include format. 2015-01-31 22:49:47 -08:00
platform.h Fixing win32 build. Silly VC. 2014-08-22 18:44:52 -07:00
poly.h Fix #include format. 2015-01-31 22:49:47 -08:00
README.md Create README.md 2014-08-20 11:27:05 -07:00
sources.gypi Support for wildcard queries 2015-02-13 23:41:19 +00:00
string.cc Simple UI for frame seeking. 2015-02-21 11:19:00 -08:00
string.h Simple UI for frame seeking. 2015-02-21 11:19:00 -08:00
threading.cc Fix #include format. 2015-01-31 22:49:47 -08:00
threading.h Simple UI for frame seeking. 2015-02-21 11:19:00 -08:00
threading_mac.cc Main window, empty GPU files. 2014-12-31 19:26:53 -08:00
threading_posix.cc Main window, empty GPU files. 2014-12-31 19:26:53 -08:00
threading_win.cc Simple UI for frame seeking. 2015-02-21 11:19:00 -08:00

poly is a lightweight cross-platform/compiler compatibility library.

This library presupposes C++11/14 support. As more compilers get C++14 it will assume that.

Other parts of the project use this to avoid creating spaghetti linkage. Code specific to the emulator should be kept out, as not all of the projects that depend on this need it.

Where possible, C++11/14 STL should be used instead of adding any code in here, and the code should be kept as small as possible (by reusing STL/etc). Third party dependencies should be kept to a minimum.

Target compilers:

  • MSVC++ 2013+
  • Clang 3.4+
  • GCC 4.8+.

Target platforms:

  • Windows 8+ (_win.cc suffix)
  • Mac OSX 10.9+ (_mac.cc suffix, falling back to _posix.cc)
  • Linux ? (_posix.cc suffix)

Avoid the use of platform-specific #ifdefs and instead try to put all platform-specific code in the appropriately suffixed cc files.