-
Notifications
You must be signed in to change notification settings - Fork 0
array
template <class value_type> struct array
This structure implements dynamic array.
-
typedef value_type typeso that generic wrappers can access this containersvalue_type - array::iterator
- array::const_iterator
-
value_type *datais a pointer to the data in memory. -
int countkeeps track of the number of elements stored in this array. -
int capacitykeeps track of the number of elements we can store at this location in memory.
The default constructor, initializes data to NULL, count to 0 and capacity to 0.
array(const value_type &value)
array(const container_type &store)
array(const array<value_type> &store)Copy the contents of another container into this array.
array(iterator left, iterator right)
array(const_iterator left, const_iterator right)
array(typename container_type::iterator left, typename container_type::iterator right)
array(typename container_type::const_iterator left, typename container_type::const_iterator right)copy the elements within the iterator range [left,right) into this array.
Basic functions necessary for algorithm execution.
int size()
Returns count.
iterator begin()
const_iterator begin() constReturns an iterator to the first element.
iterator end()
const_iterator end() constreturns an iterator to one after the last element.
iterator rbegin()
const_iterator rbegin() constreturns an iterator to the last element.
iterator rend()
const_iterator rend() constreturns an iterator to one before the first element.
iterator at(int i)
const_iterator at(int i) constreturns an iterator to the ith element.
value_type &front()
Returns the value of the first element.
value_type &back()
Returns the value of the last element.
value_type &get(int i)
Returns the value of the ith element.
value_type *ptr(int i)
Returns a pointer to the ith element.
value_type &operator[](int i)
Returns the value of the ith element.
slice<array<value_type> > deref()
wraps this array with a slice. This is particularly useful if an algorithm gives you a container filled with iterators. You can convert it into a slice with a single call to this function.
This is orthogonal to deref(). If this container is filled with iterators, it returns the index of each iterator.
returns a slice of this container of the elements within the range [start,end).
returns a slice of this container of the elements after start.
returns a slice of all the elements in this container.
returns a slice of all the elements within the range [start,end) of a range container.
returns a slice of all the elements within the range [start,end) of a range container.
see above. This returns a copy instead of a slice.
see above. This returns a copy instead of a slice.
see above. This returns a copy instead of a slice.
uses the values of the range container as indices into c. Returns another range container with the indexed value from c.
swaps the contents of this range container with another.
sets the contents of this range container equal the contents of another.
bool operator==(range<value_type1> s1, range<value_type2> s2)
bool operator!=(range<value_type1> s1, range<value_type2> s2)
bool operator<(range<value_type1> s1, range<value_type2> s2)
bool operator>(range<value_type1> s1, range<value_type2> s2)
bool operator<=(range<value_type1> s1, range<value_type2> s2)
bool operator>=(range<value_type1> s1, range<value_type2> s2)Compares two range containers by comparing start followed by finish.
bool operator==(range<value_type1> s1, core::slice<container2> s2)
bool operator!=(range<value_type1> s1, core::slice<container2> s2)
bool operator<(range<value_type1> s1, core::slice<container2> s2)
bool operator>(range<value_type1> s1, core::slice<container2> s2)
bool operator<=(range<value_type1> s1, core::slice<container2> s2)
bool operator>=(range<value_type1> s1, core::slice<container2> s2)
bool operator==(core::slice<container1> s1, range<value_type2> s2)
bool operator!=(core::slice<container1> s1, range<value_type2> s2)
bool operator<(core::slice<container1> s1, range<value_type2> s2)
bool operator>(core::slice<container1> s1, range<value_type2> s2)
bool operator<=(core::slice<container1> s1, range<value_type2> s2)
bool operator>=(core::slice<container1> s1, range<value_type2> s2)Compares a range container to a generic slice by calling compare().
#include <std/ascii_stream.h>
#include <std/array.h>
using namespace core;
int main()
{
array<int> arr = range<int>(0, 10);
cout << arr << endl;
return 0;
}