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> class Countable
20 {
21 public:
22  virtual ~Countable()
23  {
24  }
25 
26  virtual unsigned int count() const = 0;
27 
28  virtual const T& operator[](unsigned int) const = 0;
29 
30  virtual T& operator[](unsigned int) = 0;
31 
32  const T& at(unsigned int i) const
33  {
34  return operator[](i);
35  }
36 };
Definition: Countable.h:20
virtual ~Countable()
Definition: Countable.h:22
const T & at(unsigned int i) const
Definition: Countable.h:32
virtual unsigned int count() const =0
virtual const T & operator[](unsigned int) const =0
virtual T & operator[](unsigned int)=0