Collections/ListSet.cs
author StephaneLenclud
Thu, 18 Apr 2013 23:25:10 +0200
branchMiniDisplay
changeset 444 9b09e2ee0968
parent 344 3145aadca3d2
permissions -rw-r--r--
Front View plug-in does not init if no sensor added.
Fixing some format to make strings shorter.
Now trying to start SoundGraphAccess.exe process from same directory.
Packed mode now can display three sensors along with the current time.
moel@165
     1
/*
moel@165
     2
 
moel@344
     3
  This Source Code Form is subject to the terms of the Mozilla Public
moel@344
     4
  License, v. 2.0. If a copy of the MPL was not distributed with this
moel@344
     5
  file, You can obtain one at http://mozilla.org/MPL/2.0/.
moel@165
     6
 
moel@395
     7
  Copyright (C) 2009-2013 Michael Möller <mmoeller@openhardwaremonitor.org>
moel@344
     8
	
moel@165
     9
*/
moel@165
    10
moel@165
    11
using System.Collections;
moel@165
    12
using System.Collections.Generic;
moel@165
    13
moel@165
    14
namespace OpenHardwareMonitor.Collections {
moel@167
    15
moel@165
    16
  public class ListSet<T> : IEnumerable<T> {
moel@165
    17
moel@195
    18
    private readonly List<T> list = new List<T>();
moel@165
    19
moel@165
    20
    public bool Add(T item) {
moel@165
    21
      if (list.Contains(item))
moel@165
    22
        return false;
moel@165
    23
moel@165
    24
      list.Add(item);
moel@165
    25
      return true;
moel@165
    26
    }
moel@165
    27
moel@165
    28
    public bool Remove(T item) {
moel@165
    29
      if (!list.Contains(item))
moel@165
    30
        return false;
moel@165
    31
moel@165
    32
      list.Remove(item);
moel@165
    33
      return true;
moel@165
    34
    }
moel@165
    35
moel@165
    36
    public bool Contains(T item) {
moel@165
    37
      return list.Contains(item);
moel@165
    38
    }
moel@165
    39
moel@165
    40
    public T[] ToArray() {
moel@165
    41
      return list.ToArray();
moel@165
    42
    }
moel@165
    43
moel@165
    44
    public IEnumerator<T> GetEnumerator() {
moel@165
    45
      return list.GetEnumerator();
moel@165
    46
    }
moel@165
    47
moel@165
    48
    IEnumerator IEnumerable.GetEnumerator() {
moel@165
    49
      return list.GetEnumerator();
moel@165
    50
    }
moel@395
    51
moel@395
    52
    public int Count {
moel@395
    53
      get {
moel@395
    54
        return list.Count;
moel@395
    55
      }
moel@395
    56
    }
moel@165
    57
  }
moel@165
    58
}