Rudiments
dynamicarray.h
1 // Copyright (c) 2015 David Muse
2 // See the COPYING file for more information.
3 
4 #ifndef RUDIMENTS_DYNAMICARRAY_H
5 #define RUDIMENTS_DYNAMICARRAY_H
6 
7 #include <rudiments/private/dynamicarrayincludes.h>
8 
39 template < class valuetype >
40 class dynamicarray {
41  public:
43  dynamicarray();
44 
49  dynamicarray(uint64_t initialsize, uint64_t incrementsize);
50 
54 
58  const dynamicarray<valuetype> &v);
59 
62  ~dynamicarray();
63 
66  valuetype &operator[](uint64_t index);
67 
68  /* Returns the size of the initial extent. */
69  uint64_t getInitialSize() const;
70 
71  /* Returns the size of each incremental extent. */
72  uint64_t getIncrementSize() const;
73 
75  uint64_t getLength() const;
76 
78  void clear();
79 
82  void clear(uint64_t initialsize, uint64_t incrementsize);
83 
84  #include <rudiments/private/dynamicarray.h>
85 };
86 
87 #include <rudiments/private/dynamicarrayinlines.h>
88 
89 #endif
uint64_t getLength() const
Definition: dynamicarrayinlines.h:122
~dynamicarray()
Definition: dynamicarrayinlines.h:94
Definition: dynamicarray.h:40
valuetype & operator[](uint64_t index)
Definition: dynamicarrayinlines.h:100
dynamicarray()
Definition: dynamicarrayinlines.h:8
dynamicarray< valuetype > & operator=(const dynamicarray< valuetype > &v)
Definition: dynamicarrayinlines.h:28
void clear()
Definition: dynamicarrayinlines.h:181