Skip to content

Commit

Permalink
style fix
Browse files Browse the repository at this point in the history
  • Loading branch information
krzysztof-jusiak committed Aug 10, 2016
1 parent 9e0a294 commit ae04e54
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 10 deletions.
10 changes: 8 additions & 2 deletions include/boost/di/config.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,14 @@ inline auto make_policies(TPolicies... args) noexcept {
}

struct config {
template<class T> static auto provider(T*) noexcept { return providers::stack_over_heap{}; }
template<class T> static auto policies(T*) noexcept { return make_policies(); }
template <class T>
static auto provider(T*) noexcept {
return providers::stack_over_heap{};
}
template <class T>
static auto policies(T*) noexcept {
return make_policies();
}
};

#endif
17 changes: 9 additions & 8 deletions include/boost/di/core/binder.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -38,37 +38,38 @@ class binder {
static TDependency resolve_impl__(aux::pair<TConcept, TDependency>*);

template <class, class TConcept, class TScope, class TExpected, class TGiven, class TName>
static dependency<TScope, TExpected, TGiven, TName, override> resolve_impl__(aux::pair<TConcept, dependency<TScope, TExpected, TGiven, TName, override>>*);
static dependency<TScope, TExpected, TGiven, TName, override> resolve_impl__(
aux::pair<TConcept, dependency<TScope, TExpected, TGiven, TName, override>>*);

template <class TDeps, class T, class TName, class TDefault>
struct resolve__ {
using type = decltype(resolve_impl__<TDefault, dependency_concept<aux::decay_t<T>, TName>>((TDeps*)0));
};

/// Wknd for https://llvm.org/bugs/show_bug.cgi?id=28844
#if (defined(__CLANG__) && __CLANG__ >= 3'9) // __pph__
template<class TDeps, class T>
#if (defined(__CLANG__) && __CLANG__ >= 3'9) // __pph__
template <class TDeps, class T>
static T& resolve_(TDeps* deps, const aux::type<T&>&) noexcept {
return static_cast<T&>(*deps);
}

template<class TDeps, class T>
template <class TDeps, class T>
static T resolve_(TDeps*, const aux::type<T>&) noexcept {
return {};
}
#endif // __pph__
#endif // __pph__

public:
template <class T, class TName = no_name, class TDefault = dependency<scopes::deduce, aux::decay_t<T>>, class TDeps>
static decltype(auto) resolve(TDeps* deps) noexcept {
using dependency = dependency_concept<aux::decay_t<T>, TName>;

/// Wknd for https://llvm.org/bugs/show_bug.cgi?id=28844
#if (defined(__CLANG__) && __CLANG__ >= 3'9) // __pph__
#if (defined(__CLANG__) && __CLANG__ >= 3'9) // __pph__
return resolve_(deps, aux::type<decltype(resolve_impl<TDefault, dependency>((TDeps*)0))>{});
#else // __pph__
#else // __pph__
return resolve_impl<TDefault, dependency>(deps);
#endif // __pph__
#endif // __pph__
}

template <class TDeps, class T, class TName = no_name, class TDefault = dependency<scopes::deduce, aux::decay_t<T>>>
Expand Down

0 comments on commit ae04e54

Please sign in to comment.