55. FixedBuffer Class Template

Write a class template FixedBuffer logic. 
It stores a N number (N defined in template) of values without dynamic allocation:

template<typename T, size_t N>
class FixedBuffer {...}

 Methods:

  • void push(T v) → adds a value if there is space.
  • size_t size() const → returns the number of stored values.
  • T operator[](size_t i) const → access the i-th element.
     

The program already pushes values and prints them.
 You only need to implement the FixedBuffer class.

 

Example
 Input:

3
10 20 30

Output:

Buffer size: 3
10 20 30

 

Input:

5
1 2 3 4 5

Output:

Buffer size: 5
1 2 3 4 5
Loading...

Input

3 10 20 30

Expected Output

Buffer size: 3 10 20 30