171 lines
6.7 KiB
C++
171 lines
6.7 KiB
C++
/** \class PIVector
|
|
* @brief Dynamic array of any type
|
|
* \details This class used to store dynamic array of any
|
|
* type of data. In memory data stored linear. You can insert
|
|
* item in any place of remove some items from any place.
|
|
* For quick add elements this is stream operator <<.
|
|
|
|
* \fn PIVector::PIVector();
|
|
* Contructs an empty vector
|
|
|
|
* \fn PIVector::PIVector(size_t size, const T & value = T());
|
|
* @brief Contructs vector with size "size" filled elements "value"
|
|
* \details Example: \snippet picontainers.cpp PIVector::PIVector
|
|
|
|
* \fn PIVector::PIVector(std::initializer_list list);
|
|
* @brief Contructs vector from C++11 initializer list
|
|
* \details Example: \snippet picontainers.cpp PIVector::PIVector
|
|
|
|
* \fn const T & PIVector::at(size_t index) const;
|
|
* @brief Read-only access to element by index "index"
|
|
* \details Example: \snippet picontainers.cpp PIVector::at_c
|
|
* \sa \a operator[]
|
|
|
|
* \fn T & PIVector::at(size_t index);
|
|
* @brief Full access to element by index "index"
|
|
* \details Example: \snippet picontainers.cpp PIVector::at
|
|
* \sa \a operator[]
|
|
|
|
* \fn const T * PIVector::data(size_t index = 0) const;
|
|
* @brief Read-only pointer to element by index "index"
|
|
* \details Example: \snippet picontainers.cpp PIVector::data_c
|
|
|
|
* \fn T * PIVector::data(size_t index = 0);
|
|
* @brief Pointer to element by index "index"
|
|
* \details Example: \snippet picontainers.cpp PIVector::data
|
|
|
|
* \fn size_t PIVector::size() const;
|
|
* @brief Elements count
|
|
|
|
* \fn ssize_t PIVector::size_s() const;
|
|
* @brief Elements count
|
|
|
|
* \fn bool PIVector::isEmpty() const;
|
|
* @brief Return \c "true" if vector is empty, i.e. size = 0
|
|
|
|
* \fn bool PIVector::has(const T & t) const;
|
|
|
|
* \fn bool PIVector::contains(const T & v) const;
|
|
* @brief Return \c "true" if vector has at least one element equal "t"
|
|
|
|
* \fn int PIVector::etries(const T & t) const;
|
|
* @brief Return how many times element "t" appears in vector
|
|
|
|
* \fn ssize_t PIVector::indexOf(const T & t) const;
|
|
* @brief Return index of first element equal "t" or -1 if there is no such element
|
|
|
|
* \fn ssize_t PIVector::lastIndexOf(const T & t) const;
|
|
* @brief Return index of last element equal "t" or -1 if there is no such element
|
|
|
|
* \fn static int PIVector::compare_func(const T * t0, const T * t1);
|
|
* @brief Standard compare function for type "T". Return 0 if t0 = t1, -1 if t0 < t1 and 1 if t0 > t1.
|
|
|
|
* \fn void PIVector::resize(size_t size, const T & new_type = T());
|
|
* @brief Resize vector to size "size"
|
|
* \details Elements removed from end of vector if new size < old size, or added new elements = "new_type" if new size > old size.\n
|
|
* Example: \snippet picontainers.cpp PIVector::resize
|
|
* \sa \a size(), \a clear()
|
|
|
|
* \fn PIVector & PIVector::enlarge(size_t size);
|
|
* @brief Increase vector size with "size" elements
|
|
|
|
* \fn void PIVector::clear();
|
|
* @brief Clear vector. Equivalent to call <tt>"resize(0)"</tt>
|
|
|
|
* \fn PIVector & PIVector::sort(CompareFunc compare = compare_func);
|
|
* @brief Sort vector using quick sort algorithm and standard compare function
|
|
* \details Example: \snippet picontainers.cpp PIVector::sort_0
|
|
* With custom compare function: \snippet picontainers.cpp PIVector::sort_1
|
|
|
|
* \fn PIVector & PIVector::fill(const T & t);
|
|
* @brief Fill vector with elements "t" leave size is unchanged and return reference to vector
|
|
* \details Example: \snippet picontainers.cpp PIVector::fill
|
|
|
|
* \fn PIVector & PIVector::assign(const T & t = T());
|
|
* @brief Synonym of \a fill(t)
|
|
|
|
* \fn PIVector & PIVector::assign(size_t new_size, const T & t);
|
|
* @brief Resize to "new_size", then fill with "t"
|
|
|
|
* \fn T & PIVector::back();
|
|
* @brief Last element of the vector
|
|
|
|
* \fn const T & PIVector::back() const;
|
|
* @brief Last element of the vector
|
|
|
|
* \fn T & PIVector::front();
|
|
* @brief First element of the vector
|
|
|
|
* \fn const T & PIVector::front() const;
|
|
* @brief First element of the vector
|
|
|
|
* \fn PIVector & PIVector::push_back(const T & t);
|
|
* @brief Add new element "t" at the end of vector and return reference to vector
|
|
|
|
* \fn PIVector & PIVector::push_front(const T & t);
|
|
* @brief Add new element "t" at the beginning of vector and return reference to vector
|
|
|
|
* \fn PIVector & PIVector::pop_back();
|
|
* @brief Remove one element from the end of vector and return reference to vector
|
|
|
|
* \fn PIVector & PIVector::pop_front();
|
|
* @brief Remove one element from the beginning of vector and return reference to vector
|
|
|
|
* \fn T PIVector::take_back();
|
|
* @brief Remove one element from the end of vector and return it
|
|
|
|
* \fn T PIVector::take_front();
|
|
* @brief Remove one element from the beginning of vector and return it
|
|
|
|
* \fn PIVector & PIVector::remove(size_t index);
|
|
* @brief Remove one element by index "index" and return reference to vector
|
|
* \details Example: \snippet picontainers.cpp PIVector::remove_0
|
|
* \sa \a removeOne(), \a removeAll()
|
|
|
|
* \fn PIVector & PIVector::remove(size_t index, size_t count);
|
|
* @brief Remove "count" elements by first index "index" and return reference to vector
|
|
* \details Example: \snippet picontainers.cpp PIVector::remove_1
|
|
* \sa \a removeOne(), \a removeAll()
|
|
|
|
* \fn PIVector & PIVector::removeOne(const T & v);
|
|
* @brief Remove no more than one element equal "v" and return reference to vector
|
|
* \details Example: \snippet picontainers.cpp PIVector::removeOne
|
|
* \sa \a remove(), \a removeAll()
|
|
|
|
* \fn PIVector & PIVector::removeAll(const T & v);
|
|
* @brief Remove all elements equal "v" and return reference to vector
|
|
* \details Example: \snippet picontainers.cpp PIVector::removeAll
|
|
* \sa \a remove(), \a removeOne()
|
|
|
|
* \fn PIVector & PIVector::insert(size_t pos, const T & t);
|
|
* @brief Insert element "t" after index "pos" and return reference to vector
|
|
* \details Example: \snippet picontainers.cpp PIVector::insert_0
|
|
|
|
* \fn PIVector & PIVector::insert(size_t pos, const PIVector & t);
|
|
* @brief Insert other vector "t" after index "pos" and return reference to vector
|
|
* \details Example: \snippet picontainers.cpp PIVector::insert_1
|
|
|
|
* \fn T & PIVector::operator [](size_t index);
|
|
* @brief Full access to element by index "index"
|
|
* \details Example: \snippet picontainers.cpp PIVector::()
|
|
* \sa \a at()
|
|
|
|
* \fn const T & PIVector::operator [](size_t index) const;
|
|
* @brief Read-only access to element by index "index"
|
|
* \details Example: \snippet picontainers.cpp PIVector::()_c
|
|
* \sa \a at()
|
|
|
|
* \fn PIVector & PIVector::operator <<(const T & t);
|
|
* @brief Add new element "t" at the end of vector and return reference to vector
|
|
|
|
* \fn PIVector & PIVector::operator <<(const PIVector & t);
|
|
* @brief Add vector "t" at the end of vector and return reference to vector
|
|
|
|
* \fn bool PIVector::operator ==(const PIVector & t);
|
|
* @brief Compare with vector "t"
|
|
|
|
* \fn bool PIVector::operator !=(const PIVector & t);
|
|
* @brief Compare with vector "t"
|
|
|
|
* */
|