コード例 #1
0
 internal BacktrackingPredicate(LibraryMethodList container, Functor functor, BacktrackingPredicateDelegate backtrackingPredicateDelegate)
     : base(container, functor, false)
 {
     if (backtrackingPredicateDelegate == null)
     {
         throw new ArgumentNullException("backtrackingPredicateDelegate");
     }
     _backtrackingPredicateDelegate = backtrackingPredicateDelegate;
 }
コード例 #2
0
 internal BacktrackingPredicate(LibraryMethodList container, Functor functor, BacktrackingPredicateDelegate backtrackingPredicateDelegate)
     : base(container, functor, false)
 {
     if (backtrackingPredicateDelegate == null)
     {
         throw new ArgumentNullException("backtrackingPredicateDelegate");
     }
     _backtrackingPredicateDelegate = backtrackingPredicateDelegate;
 }
コード例 #3
0
ファイル: Library.cs プロジェクト: russlank/Prolog.NET
        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);
        }
コード例 #4
0
        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);
        }
コード例 #5
0
ファイル: Library.cs プロジェクト: Year-2019-20/TaskFlow.NET
 internal void Add(string name, int arity, BacktrackingPredicateDelegate backtrackingPredicateDelegate)
 {
     Add(new Functor(name, arity), backtrackingPredicateDelegate);
 }
コード例 #6
0
ファイル: Library.cs プロジェクト: wallymathieu/Prolog.NET
 internal void Add(string name, int arity, BacktrackingPredicateDelegate backtrackingPredicateDelegate)
 {
     Add(new Functor(name, arity), backtrackingPredicateDelegate);
 }
コード例 #7
0
ファイル: Library.cs プロジェクト: wallymathieu/Prolog.NET
        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;
        }