blender/intern/cycles/util
Sergey Sharybin 63ea8dd156 Initial compilation support with C++11 featureset enabled
This commit makes some preliminary fixes and tweaks aimed to make blender
compilable with C++11 feature set. This includes:

- Build system attribute to enable C++11 featureset.

  It's for sure default OFF, but easy to enable to have a play around with
  it and make sure all the stuff is compilable before we go C++11 for real.

- Changes in Compositor to use non-named cl_int structure fields.

  This is because __STRICT_ANSI__ is defined by default by GCC and OpenCL
  does not use named fields in this case.

- Changes to TYPE_CHECK() related on lack of typeof() in C++11

  This uses decltype() instead with some trickery to make sure returned type
  is not a reference.

- Changes for auto_ptr in Freestyle

  This actually conditionally switches between auto_ptr and unique_ptr since
  auto_ptr is deprecated in C++11. Seems to be not strictly needed but still
  nice to be ready for such an update anyway/

This all based on changes form depsgraph_refactor branch apart from the weird
changes which were made in order to support MinGW compilation. Those parts of
change would need to be carefully reviewed again after official move to gcc49
in MinGW.

Tested on Linux with GCC-4.7 and Clang-3.5, other platforms are not tested and
likely needs some more tweaks.

Reviewers: campbellbarton, juicyfruit, mont29, lukastoenne, psy-fi, kjym3

Differential Revision: https://developer.blender.org/D1089
2015-03-13 16:47:40 +05:00
..
CMakeLists.txt CMake: picky style edit 2015-02-19 07:15:00 +11:00
util_algorithm.h Cleanup: Fix Cycles Apache header. 2014-12-25 02:50:24 +01:00
util_aligned_malloc.cpp Cycles: Use size_t for aligned allocator 2015-02-19 22:19:29 +05:00
util_aligned_malloc.h Cycles: Use size_t for aligned allocator 2015-02-19 22:19:29 +05:00
util_args.h Cleanup: Fix Cycles Apache header. 2014-12-25 02:50:24 +01:00
util_atomic.h Cleanup: Fix Cycles Apache header. 2014-12-25 02:50:24 +01:00
util_boundbox.h Cleanup: Fix Cycles Apache header. 2014-12-25 02:50:24 +01:00
util_cache.cpp Cleanup: Remove support for Boost filesystem 2. 2015-02-18 13:49:49 +01:00
util_cache.h Cleanup: Fix Cycles Apache header. 2014-12-25 02:50:24 +01:00
util_color.h Cleanup: Fix Cycles Apache header. 2014-12-25 02:50:24 +01:00
util_debug.h Cleanup: Fix Cycles Apache header. 2014-12-25 02:50:24 +01:00
util_foreach.h Cleanup: Fix Cycles Apache header. 2014-12-25 02:50:24 +01:00
util_function.h Cleanup: Fix Cycles Apache header. 2014-12-25 02:50:24 +01:00
util_guarded_allocator.cpp Cycles: Implement guarded allocator for STL classes 2015-02-15 02:01:48 +05:00
util_guarded_allocator.h Cycles: Add ifdef switch to use blender's guardedalloc for vector allocation 2015-02-15 02:01:48 +05:00
util_half.h Cleanup: Fix Cycles Apache header. 2014-12-25 02:50:24 +01:00
util_hash.h Cleanup: Fix Cycles Apache header. 2014-12-25 02:50:24 +01:00
util_image.h Cleanup: Fix Cycles Apache header. 2014-12-25 02:50:24 +01:00
util_list.h Cleanup: Fix Cycles Apache header. 2014-12-25 02:50:24 +01:00
util_logging.cpp Cycles: Be ready for gflags namespace auto-detect 2015-01-01 01:31:08 +05:00
util_logging.h Cycles: Fully support WITH_CYCLES_LOGGING option 2015-01-01 01:31:07 +05:00
util_map.h Cleanup: Fix Cycles Apache header. 2014-12-25 02:50:24 +01:00
util_math_fast.h Cycles: Make util_math_fast.h compatible with OpenCL 2015-02-19 12:29:06 +05:00
util_math.h Cycles: Make sphere and tube image mapping friendly with OpenCL 2015-02-19 12:52:48 +05:00
util_md5.cpp Cleanup: cycles whitespace 2014-11-08 13:37:42 +01:00
util_md5.h
util_opengl.h Cycles: Post-reintegration tweaks to ensure things do compile 2015-01-01 01:31:08 +05:00
util_optimization.h Cleanup: Fix Cycles Apache header. 2014-12-25 02:50:24 +01:00
util_param.h Cleanup: Fix Cycles Apache header. 2014-12-25 02:50:24 +01:00
util_path.cpp Cleanup: Remove support for Boost filesystem 2. 2015-02-18 13:49:49 +01:00
util_path.h Cleanup: Fix Cycles Apache header. 2014-12-25 02:50:24 +01:00
util_progress.h Cycles: Avoid crash in statistics when canceling BVH build 2015-01-19 13:39:35 +05:00
util_set.h Cleanup: Fix Cycles Apache header. 2014-12-25 02:50:24 +01:00
util_simd.cpp Cleanup: Fix Cycles Apache header. 2014-12-25 02:50:24 +01:00
util_simd.h Cleanup: Fix Cycles Apache header. 2014-12-25 02:50:24 +01:00
util_sseb.h Cycles: add better specializations for SSE shuffle function and few more wrappers. 2015-03-07 17:25:21 +00:00
util_ssef.h Cycles: add better specializations for SSE shuffle function and few more wrappers. 2015-03-07 17:25:21 +00:00
util_ssei.h Cycles: add better specializations for SSE shuffle function and few more wrappers. 2015-03-07 17:25:21 +00:00
util_stats.h Cleanup: Fix Cycles Apache header. 2014-12-25 02:50:24 +01:00
util_string.cpp Cleanup: Fix Cycles Apache header. 2014-12-25 02:50:24 +01:00
util_string.h Cleanup: Fix Cycles Apache header. 2014-12-25 02:50:24 +01:00
util_system.cpp Cleanup: Remove unused Cycles cpuid code. 2015-02-11 11:28:42 +01:00
util_system.h Cleanup: Fix Cycles Apache header. 2014-12-25 02:50:24 +01:00
util_task.cpp Cleanup: Fix Cycles Apache header. 2014-12-25 02:50:24 +01:00
util_task.h Cleanup: Fix Cycles Apache header. 2014-12-25 02:50:24 +01:00
util_thread.h Cleanup: Fix Cycles Apache header. 2014-12-25 02:50:24 +01:00
util_time.cpp Cleanup: Fix Cycles Apache header. 2014-12-25 02:50:24 +01:00
util_time.h Cleanup: Fix Cycles Apache header. 2014-12-25 02:50:24 +01:00
util_transform.cpp Cleanup: Fix Cycles Apache header. 2014-12-25 02:50:24 +01:00
util_transform.h Fix T43120: Cycles mapping node rotation order is different from viewport 2015-01-22 14:12:22 +05:00
util_types.h Initial compilation support with C++11 featureset enabled 2015-03-13 16:47:40 +05:00
util_vector.h Cycles: Correction for C++11 compilation error after recent vector changes 2015-02-16 15:38:13 +05:00
util_view.cpp Cleanup: Fix Cycles Apache header. 2014-12-25 02:50:24 +01:00
util_view.h Cleanup: Fix Cycles Apache header. 2014-12-25 02:50:24 +01:00
util_xml.h Cycles: Fix compilation error when OIIO is compiled with external PugiXML parser 2015-01-01 01:31:07 +05:00