Propagate C++11 throughout Nektar++
This is a very large MR that changes Boost to C++11 functionality throughout the library, utilities and solvers. A basic overview of changes:
- Many
boost
classes replaced by native C++11 objects, including:shared_ptr
,weak_ptr
,unordered_map
,unordered_set
,tuple
,bind
,function
- Added some utilities for unordered structures in
HashUtils.hpp
, sincestd::
doesn't support hashes of enums or pairs - Memory manager allocation/deallocation has been modified to remove the use of
bind
, due to compiler issues in VS2013. - Dependence on
boost_date_time
has been removed usingchrono
-
boost::mpl
metaprogramming replaced with C++11 variadic templates,static_assert
, etc - Removed a lot of iterator typedefs, and replaced a number of iterators with loops of the form
for (auto &it : container)
- Additionally, this removes the (unused) expression templates and removes a few more unused headers and unit tests.