internal BacktrackingPredicate(LibraryMethodList container, Functor functor, BacktrackingPredicateDelegate backtrackingPredicateDelegate) : base(container, functor, false) { if (backtrackingPredicateDelegate == null) { throw new ArgumentNullException("backtrackingPredicateDelegate"); } _backtrackingPredicateDelegate = backtrackingPredicateDelegate; }
internal BacktrackingPredicate Add(Functor functor, BacktrackingPredicateDelegate backtrackingPredicateDelegate) { if (functor == null) { throw new ArgumentNullException("functor"); } if (backtrackingPredicateDelegate == null) { throw new ArgumentNullException("backtrackingPredicateDelegate"); } var backtrackingPredicate = Methods.Add(functor, backtrackingPredicateDelegate); return(backtrackingPredicate); }
internal BacktrackingPredicate Add(Functor functor, BacktrackingPredicateDelegate backtrackingPredicateDelegate) { if (functor == null) { throw new ArgumentNullException("functor"); } if (backtrackingPredicateDelegate == null) { throw new ArgumentNullException("backtrackingPredicateDelegate"); } if (Contains(functor)) { throw new ArgumentException("Item already exists.", "functor"); } var predicate = new BacktrackingPredicate(this, functor, backtrackingPredicateDelegate); Items.Add(predicate); Library.Touch(); return(predicate); }
internal void Add(string name, int arity, BacktrackingPredicateDelegate backtrackingPredicateDelegate) { Add(new Functor(name, arity), backtrackingPredicateDelegate); }
internal BacktrackingPredicate Add(Functor functor, BacktrackingPredicateDelegate backtrackingPredicateDelegate) { if (functor == null) { throw new ArgumentNullException("functor"); } if (backtrackingPredicateDelegate == null) { throw new ArgumentNullException("backtrackingPredicateDelegate"); } BacktrackingPredicate backtrackingPredicate = Methods.Add(functor, backtrackingPredicateDelegate); return backtrackingPredicate; }