APIs, concepts, guides, and more
|
A wrapper class for the C++ STL vector class that aims to maintain application binary interface. Provides some of the basic vector operations (with RapidCode naming conventions). More...
Public Types | |
typedef RapidVectorIterator< RapidVector > | Iterator |
The iterator type for this RapidVector. | |
Functions | |
RapidVector () | |
Default constructor that constructs an empty vector. | |
RapidVector (const RapidVector &other) | |
Copy constructor. Constructs a RapidVector as a deep-copy. | |
RapidVector (const size_t size) | |
Constructs a vector with the specified size. | |
RapidVector (RapidVector &&other) noexcept | |
Move constructor. Replaces contents with those of the other RapidVector. | |
RapidVector (RapidVectorImplementation< Type > *) | |
Constructs a RapidVector with the given implementation. Intended for RSI internal use only. | |
~RapidVector () | |
Destructs the vector and deallocates used storage. | |
Type & | At (const size_t index) |
Returns a reference to the element at the location specified by the index. | |
const Type & | At (const size_t index) const |
Returns a const reference to the element at the location specified by the index. | |
Type & | Back () |
Returns a reference to the last element in the vector. | |
const Type & | Back () const |
Returns a const reference to the last element in the vector. | |
Iterator | begin () const noexcept |
Returns a RapidVectorIterator to the first element of the vector. The naming convention follows STL conventions to allow use in foreach loops. | |
Iterator | begin () noexcept |
Returns a RapidVectorIterator to the first element of the vector. The naming convention follows STL conventions to allow use in foreach loops. | |
void | Clear () |
Erases all elements from the vector. | |
Iterator | end () const noexcept |
Returns a RapidVectorIterator to the element following the last element of the vector. Do not attempt to dereference this iterator. The naming convention follows STL conventions to allow use in foreach loops. | |
Type & | Front () |
Returns a reference to the first element in the vector. | |
const Type & | Front () const |
Returns a const reference to the first element in the vector. | |
RapidVector & | operator= (const RapidVector &other) |
Copy assignment operator. Replaces contents with the contents of the other RapidVector. | |
RapidVector & | operator= (RapidVector &&other) noexcept |
Move assignment operator. Replaces contents with those of the other RapidVector. The original contents of this are destructed. | |
Type & | operator[] (const size_t index) |
Returns a reference to the element at the location specified by the index. | |
const Type & | operator[] (const size_t index) const |
Returns a const reference to the element at the location specified by the index. | |
void | PopBack () |
Removes the last element from the container. Calling PopBack() on an empty container results in undefined behavior (Like the STL vector). | |
void | PushBack (const Type &element) |
Appends the given element to the end of the vector. | |
const size_t | Size () const |
Returns the number of elements in the vector. | |
Unlike most templates, the method bodies are not provided here. RapidVector functions for template parameter types RSI does not explicitly provide and instantiate will not link. Presently, the only types defined for RapidVector are: