view src/main/csharp/jp.ac.u-ryukyu.ie.cr/jungle/store/impl/logger/DefaultOperationLog.cs @ 0:dec15de2c6ff

first commit
author Kazuma
date Tue, 21 Jun 2016 17:11:12 +0900
parents
children
line wrap: on
line source

using System.Collections.Generic;
using System.Collections;
using System;


public class DefaultOperationLog : OperationLog {
	private List<NodeOperation> log;


	IEnumerator IEnumerable.GetEnumerator()
	{
		// call the generic version of the method
		return this.GetEnumerator();
	}

	public IEnumerator<NodeOperation> GetEnumerator()
	{
		return iterator ();
	}

	private static List<NodeOperation> EMPTY = new List<NodeOperation>();

	public DefaultOperationLog()
		: this(EMPTY)
	{
	}

	private DefaultOperationLog(List<NodeOperation> _log)
	{
		log = _log;
	}

	public IEnumerator<NodeOperation> iterator()
	{
		return log.iterator();
	}


	public OperationLog add(NodeOperation _op)
	{
		return new DefaultOperationLog(log.addLast(_op));
	}
		
	public int length()
	{
		return log.length();
	}

}