#ifndef _NTPM_AI_NEGATE_H
#define _NTPM_AI_NEGATE_H

#include <arithmetic_iterators/ai_unary.h>

namespace NTPMai {


// handles addition of all promises. returns a generic promise.
template <class T_PROMISE>
typename UNOP_Deffer<T_PROMISE,negate<typename T_PROMISE::value_type> >::V
operator-(T_PROMISE p)
{
    return make_unary_op_promise(p, negate<typename T_PROMISE::value_type>());
}


}

#endif // _NTPM_AI_NEGATE_H
