Exemple #1
0
 /// <summary>
 /// ソースコレクションを指定してインスタンスを新規作成します
 /// ソースコレクションの要素数がキャパシティとなります
 /// </summary>
 /// <param name="source">ソースコレクション</param>
 /// <param name="mode">キャパを超えて要素を追加しようとしたときの挙動</param>
 public FixedCapacityQueue(IReadOnlyCollection <T> source, CapacityOverQueueBehaviour behaviour = CapacityOverQueueBehaviour.ThrowException)
     : this(new Queue <T>(source), source.Count, behaviour)
 {
 }
Exemple #2
0
 /// <summary>
 /// 内部に使用する<see cref="IQueue{T}"/>を指定して、インスタンスを新規作成します
 /// </summary>
 /// <param name="innerQueue">内部に使用する<see cref="IQueue{T}"/></param>
 /// <param name="capacity">固定長</param>
 /// <param name="behaviour">空きがない状態で<see cref="Enqueue(T)"/>したときの挙動</param>
 public FixedCapacityQueue(IQueue <T> innerQueue, int capacity, CapacityOverQueueBehaviour behaviour = CapacityOverQueueBehaviour.ThrowException)
 {
     this.innerQueue            = innerQueue;
     this.Capacity              = capacity;
     this.CapacityOverBehaviour = behaviour;
 }
Exemple #3
0
 /// <summary>
 /// キャパシティを指定してインスタンスを新規作成します
 /// </summary>
 /// <param name="capacity">要素数</param>
 /// <param name="mode">キャパを超えて要素を追加しようとしたときの挙動</param>
 public FixedCapacityQueue(int capacity, CapacityOverQueueBehaviour behaviour = CapacityOverQueueBehaviour.ThrowException)
     : this(new Queue <T>(capacity), capacity, behaviour)
 {
 }
Exemple #4
0
 /// <summary>
 /// キャパシティを指定してインスタンスを新規作成します
 /// </summary>
 /// <param name="capacity">要素数</param>
 /// <param name="mode">キャパを超えて要素を追加しようとしたときの挙動</param>
 public FixedCapacityReactiveQueue(int capacity, CapacityOverQueueBehaviour behaviour = CapacityOverQueueBehaviour.ThrowException)
     : base(new ReactiveQueue <T>(capacity), capacity, behaviour)
 {
 }