File Results.h

A file containing definitions of the results.

Copyright

This code is licensed under the 3-clause BSD license.

Copyright ETH Zurich, Laboratory for Physical Chemistry, Reiher Group.

See LICENSE.txt for details.

namespace Scine

This header file contains functions that allow for common notation for common things that can be done at a different degree of derivatives.

This header contains alias definitions defining which classes to use for the different degrees of derivatives.

namespace Utils
class PropertyNotPresentException : public exception
#include <Results.h>

Exception thrown if a property is requested and it is not stored.

Public Functions

const char *what() const
class Results
#include <Results.h>

Class for the properties obtained in a single-point calculation.

To obtain the properties:

  • ”get” methods return references to the results (also allows simple copy)

  • ”take” methods move the results (which will not be present in Results afterwards).

Template pattern does not allow for pImpl idiom without defining a specialized template for each Property.

Public Functions

Results()
~Results()
Results(Results &&rhs)
Results &operator=(Results &&rhs)
Results(const Results &rhs)
Results &operator=(const Results &rhs)
template<Property property>
bool has() const
PropertyList allContainedProperties() const

Function that returns PropertyList of all Properties contained in the results.

template<Property property>
const PropertyType<property>::Type &get() const
template<Property property>
void set(typename PropertyType<property>::Type dataToSet)
template<Property property>
PropertyType<property>::Type take()

Private Members

std::map<Property, boost::any> resultsMap_