•All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Search Results
provider.h File Reference
#include <memory>
#include <sstream>
#include <string>
#include <type_traits>
#include "mpqc/util/core/exception.h"
#include "mpqc/util/keyval/keyval.h"
Include dependency graph for provider.h:

This graph shows which files directly or indirectly include this file:

Classes | |
struct mpqc::detail::ProviderBase | |
utility class to support runtime casting to property providers More... | |
class mpqc::Provides< Properties > | |
Base for classes that provide Properties . More... | |
class mpqc::Provides< Property > | |
struct mpqc::detail::has_provider< T > | |
has_provider<T>::value is true if T::Provider is a valid type More... | |
Namespaces | |
mpqc | |
The top-level namespace for all Massively Parallel Quantum Chemistry package. | |
mpqc::detail | |
Functions | |
template<typename Property , typename Provider > | |
bool mpqc::provides (const std::shared_ptr< Provider > &provider) | |
template<typename T > | |
T * mpqc::detail::to_pointer (T *obj) | |
template<typename T > | |
auto mpqc::detail::to_pointer (T &obj) -> std::enable_if_t< utility::meta::is_shared_ptr< typename std::decay< T >::type >::value, decltype(obj.get())> | |
template<typename T > | |
std::enable_if_t< !utility::meta::is_shared_ptr< typename std::decay< T >::type >::value, typename std::decay< T >::type * > mpqc::detail::to_pointer (T &obj) | |
template<typename T > | |
std::string mpqc::detail::description (T *obj_ptr) | |
obtains a description of the object pointer to by obj_ptr More... | |
template<typename Property , typename Object > | |
std::enable_if_t< detail::has_provider< Property >::value, typename Property::Provider * > mpqc::as_provider_of (Object *ptr) | |
template<typename Property , typename Object > | |
std::enable_if_t< detail::has_provider< Property >::value, typename Property::Provider * > mpqc::as_provider_of (const std::shared_ptr< Object > &ptr) | |
template<typename Property , typename Provider , typename... EvaluateArgs> | |
std::enable_if_t<(detail::has_provider< Property >::value &&!std::is_const< Property >::value), void > mpqc::evaluate (Property &property, Provider &provider, EvaluateArgs... eval_args) | |
Evaluates property using provider . More... | |
template<typename Property , typename Provider > | |
std::enable_if_t< detail::has_provider< Property >::value, Property & > mpqc::operator<< (Property &property, Provider &provider) | |
Evaluates property using provider . More... | |