Countable.h
Go to the documentation of this file.
1 /* $Id: Countable.h 1151 2011-06-06 21:13:05Z bhagman $
2 ||
3 || @author Alexander Brevig <abrevig@wiring.org.co>
4 || @url http://wiring.org.co/
5 || @contribution Brett Hagman <bhagman@wiring.org.co>
6 ||
7 || @description
8 || | Base class for containers.
9 || |
10 || | Wiring Common API
11 || #
12 ||
13 || @license Please see cores/Common/License.txt.
14 ||
15 */
16 
17 #pragma once
18 
19 template<typename T>
20 class Countable
21 {
22  public:
23  virtual ~Countable() {}
24  virtual unsigned int count() const = 0;
25  virtual const T& operator[](unsigned int) const = 0;
26  virtual T& operator[](unsigned int) = 0;
27  const T& at(unsigned int i) const
28  {
29  return operator[](i);
30  }
31 };
Definition: Countable.h:20
const T & at(unsigned int i) const
Definition: Countable.h:27
virtual const T & operator[](unsigned int) const =0
virtual unsigned int count() const =0
virtual ~Countable()
Definition: Countable.h:23