Line data Source code
1 :
2 : //
3 : // Author: Vladimir Migashko <migashko@gmail.com>, (C) 2012
4 : //
5 : // Copyright: See COPYING file that comes with this distribution
6 : //
7 :
8 : #ifndef VSET_VSET_BUFFER_HPP
9 : #define VSET_VSET_BUFFER_HPP
10 :
11 : #include <vset/buffer/buffer_base.hpp>
12 : #include <fas/aop.hpp>
13 :
14 : namespace vset { namespace buffer{
15 :
16 : template<typename A >
17 2 : class buffer
18 : : public buffer_base<A>
19 : {
20 : typedef buffer_base<A> super;
21 : public:
22 :
23 : typedef typename super::data_type data_type;
24 : typedef typename super::size_type size_type;
25 :
26 6 : size_type size() const
27 : {
28 6 : return super::_size(*this);
29 : }
30 :
31 7 : size_type capacity() const
32 : {
33 7 : return super::_capacity(*this);
34 : }
35 :
36 25 : data_type data()
37 : {
38 25 : return super::_data(*this);
39 : }
40 :
41 : const data_type data() const
42 : {
43 : return super::_data(*this);
44 : }
45 :
46 1 : void clear()
47 : {
48 1 : super::_clear(*this);
49 1 : }
50 :
51 2 : void resize(size_type s)
52 : {
53 2 : super::_resize(*this, s);
54 2 : }
55 :
56 1 : void truncate(size_type s)
57 : {
58 1 : super::_truncate(*this, s);
59 1 : }
60 :
61 2 : void reserve( size_type s)
62 : {
63 2 : super::_reserve(*this, s);
64 2 : }
65 : };
66 :
67 : }}
68 :
69 : #endif
|