// Copyright (C) 2012-2015 Leap Motion, Inc. All rights reserved.
#pragma once

// Internal build flag for namespace discrimination
#define AUTOWIRING_IS_BEING_BUILT

// Only include these headers in cases where a pch can be generated
// Currently this is only supported on MSVC
#ifdef _MSC_VER
  #include <thread>
  #ifndef NOMINMAX
    #define NOMINMAX
  #endif
#endif
  
#ifndef _MSC_VER
  #include <stdlib.h>
#endif

// Preconfiguration:
#include "AutowiringConfig.h"

// C++11 glue logic, for platforms that have incomplete C++11 support
#include "C++11/cpp11.h"

// Copyright (C) 2012-2015 Leap Motion, Inc. All rights reserved.
#pragma once

// Internal build flag for namespace discrimination
#define AUTOWIRING_IS_BEING_BUILT

// Only include these headers in cases where a pch can be generated
// Currently this is only supported on MSVC
#ifdef _MSC_VER
  #ifndef NOMINMAX
    #define NOMINMAX
  #endif

  #include <algorithm>
  #include <functional>
  #include <future>
  #include <iosfwd>
  #include <list>
  #include <map>
  #include <memory>
  #include <mutex>
  #include <queue>
  #include <set>
  #include <sstream>
  #include <string>
  #include <thread>
  #include <tuple>
  #include <type_traits>
  #include <typeindex>
  #include <unordered_map>
  #include <unordered_set>
  #include <vector>
#endif
  
#ifndef _MSC_VER
  #include <stdlib.h>
#endif

// Preconfiguration:
#include "AutowiringConfig.h"

// C++11 glue logic, for platforms that have incomplete C++11 support
#include "C++11/cpp11.h"

Make better use of precompiled header
Make better use of precompiled header

These headers are used pretty much everywhere in autowiring.  New compile time is 50% of what it was on MSVC.

Before: 33.87s
After: 17.77s
