// Copyright Joakim Karlsson & Kim Gräsman 2010-2012. // Distributed under the Boost Software License, Version 1.0. // (See accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt) #ifndef IGLOO_CONSTRAINTADAPTER_H #define IGLOO_CONSTRAINTADAPTER_H namespace snowhouse { template struct ConstraintAdapter { ConstraintAdapter(const ConstraintType& constraint) : m_constraint(constraint) { } template void Evaluate(ConstraintListType& list, ResultStack& result, OperatorStack& operators, const ActualType& actual) { result.push(m_constraint(actual)); EvaluateConstraintList(list.m_tail, result, operators, actual); } ConstraintType m_constraint; }; template struct Stringizer< ConstraintAdapter > { static std::string ToString(const ConstraintAdapter& constraintAdapter) { return snowhouse::Stringize(constraintAdapter.m_constraint); } }; } #endif