Header file contract.hpp
#define SIPLASPLAS_REFLECTION_ATTRIBUTES_CONTRACT_HPP
#include "attribute.hpp"
namespace cpp
{
namespace dynamic_reflection
{
namespace attributes
{
template <typename ReturnType, typename ... Args>
class Contract<ReturnType, meta::list<Args...>;
template <typename Precond, typename Postcond>
std::shared_ptr<cpp::dynamic_reflection::attributes::Attribute> contract(Precond precond, const std::string& precondMsg, Postcond postcond, const std::string& postcondMsg);
}
}
}