xenia-canary/src/poly
Ben Vanik f74aafeb8a Swapping around vec128 to match AVX order.
Was really hoping all this would fix some bugs, but no luck :(
2014-08-29 20:39:26 -07:00
..
README.md Create README.md 2014-08-20 11:27:05 -07:00
assert.h Mostly fixing up alloy clang build. 2014-08-18 22:01:55 -07:00
atomic.h Mostly fixing up alloy clang build. 2014-08-18 22:01:55 -07:00
byte_order.h Converting HID API to use be<> auto swapping type. 2014-08-19 22:50:21 -07:00
config.h Cleaning up asserts and file/line macros. 2014-07-12 16:51:52 -07:00
cxx_compat.h Mostly fixing up alloy clang build. 2014-08-18 22:01:55 -07:00
debugging.h Cross-platformizing MMIO stuff. 2014-07-29 22:12:39 -07:00
debugging_mac.cc Cross-platformizing MMIO stuff. 2014-07-29 22:12:39 -07:00
debugging_win.cc Fixing MMIO build on Windows. 2014-08-01 20:29:57 -07:00
logging.cc Cleaning up some clang issues. 2014-08-21 22:27:33 -07:00
logging.h Splitting logging core into poly. 2014-08-21 20:26:55 -07:00
main.h More string swapping and cleaning up main(). 2014-08-16 16:34:13 -07:00
main_posix.cc Mostly fixing up alloy clang build. 2014-08-18 22:01:55 -07:00
main_win.cc Removing PAL. 2014-08-16 21:19:21 -07:00
mapped_memory.h Moving mmap to poly, cleaning up devices. 2014-08-17 12:57:02 -07:00
mapped_memory_posix.cc Mostly fixing up alloy clang build. 2014-08-18 22:01:55 -07:00
mapped_memory_win.cc Moving mmap to poly, cleaning up devices. 2014-08-17 12:57:02 -07:00
math.cc Fixing a bunch of alloy clang issues. 2014-07-12 21:52:33 -07:00
math.h Swapping around vec128 to match AVX order. 2014-08-29 20:39:26 -07:00
memory.cc Sprucing up some of alloy. 2014-07-13 21:15:37 -07:00
memory.h Converting HID API to use be<> auto swapping type. 2014-08-19 22:50:21 -07:00
platform.h Fixing win32 build. Silly VC. 2014-08-22 18:44:52 -07:00
poly.h Splitting logging core into poly. 2014-08-21 20:26:55 -07:00
sources.gypi Splitting logging core into poly. 2014-08-21 20:26:55 -07:00
string.cc Mostly fixing up alloy clang build. 2014-08-18 22:01:55 -07:00
string.h Last bit of string cleanup. string.h finally gone. 2014-08-17 11:48:29 -07:00
threading.h Working on switching to std::string. 2014-08-16 02:30:23 -07:00
threading_mac.cc Working on switching to std::string. 2014-08-16 02:30:23 -07:00
threading_posix.cc Working on switching to std::string. 2014-08-16 02:30:23 -07:00
threading_win.cc Working on switching to std::string. 2014-08-16 02:30:23 -07:00

README.md

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.