view Implab/ObjectPoolWrapper.cs @ 89:ce0171cacec4 v2

improved performance of a chained map operation
author cin
date Wed, 08 Oct 2014 02:19:45 +0400
parents 34bb2f32634d
children
line wrap: on
line source

using System;

namespace Implab {
    public class ObjectPoolWrapper<T> : IDisposable {
        readonly T m_value;
        readonly ObjectPool<T> m_pool;

        internal ObjectPoolWrapper(T value, ObjectPool<T> pool) {
            m_value = value;
            m_pool = pool;
        }

        public T Value {
            get { return m_value; }
        }

        #region IDisposable implementation
        public void Dispose() {
            m_pool.Release(m_value);
        }
        #endregion
    }
}