annotate algs4-c++/src/Buffer.hpp @ 22:c2cbfdf528f6

1.3.44 Ugh. I would never use this in real life but it seems to be what they want.
author Eris Caffee <discordia@eldalin.com>
date Tue, 23 Jun 2015 11:02:31 -0500
parents
children
rev   line source
discordia@22 1 // Sedgewick and Wayne, Algorithms, 4th ed. problem 1.3.44
discordia@22 2
discordia@22 3 // Two stack implementation. I don't know why anyone would actually want to use
discordia@22 4 // an implmentation like this, but it's what they suggested in the problem. I
discordia@22 5 // guess it's just an "exercise" after all.
discordia@22 6
discordia@22 7
discordia@22 8 #ifndef BUFFER_HPP
discordia@22 9 #define BUFFER_HPP
discordia@22 10
discordia@22 11 #include <cstddef>
discordia@22 12
discordia@22 13 #include "Stack.hpp"
discordia@22 14
discordia@22 15 class Buffer {
discordia@22 16 public:
discordia@22 17 Buffer( void );
discordia@22 18
discordia@22 19 void insert( char c );
discordia@22 20 char get( void );
discordia@22 21 char delete( void );
discordia@22 22 void left( size_t k );
discordia@22 23 void right( size_t k );
discordia@22 24 size_t size( void );
discordia@22 25
discordia@22 26 private:
discordia@22 27 size_t cursor;
discordia@22 28
discordia@22 29 bool use_s1;
discordia@22 30 Stack<char> s1;
discordia@22 31 Stack<char> s2;
discordia@22 32 };
discordia@22 33
discordia@22 34 #endif