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

Liq Files
author Kazuma
date Mon, 07 Nov 2016 01:05:24 +0900
parents abe0c247f5a5
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();
	}

}