Free cookie consent management tool by TermsFeed Policy Generator

source: branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis/Push/Data/Pool/PooledObject.cs @ 15189

Last change on this file since 15189 was 15189, checked in by pkimmesw, 7 years ago

#2665 Fixed small issues, testet benchmark suite, added INX Expressions

File size: 675 bytes
Line 
1namespace HeuristicLab.Problems.ProgramSynthesis.Push.Data.Pool {
2  using System;
3
4  public class PooledObject<T> : IDisposable, IPooledObject
5    where T : class {
6
7    private readonly ObjectPool<PooledObject<T>> pool;
8    private readonly T item;
9    private readonly Action<T> resetor;
10
11    public PooledObject(ObjectPool<PooledObject<T>> pool, T item, Action<T> resetor) {
12      this.pool = pool;
13      this.item = item;
14      this.resetor = resetor;
15    }
16
17    public virtual void Dispose() {
18      resetor(item);
19      pool.Free(this);
20    }
21
22    void IPooledObject.Init() { }
23
24    public void Reset() {
25      resetor(item);
26    }
27  }
28}
Note: See TracBrowser for help on using the repository browser.