template struct ImVector

Overview

#include <imgui.h>

template <typename T>
struct ImVector
{
    // typedefs

    typedef T value_type;
    typedef value_type* iterator;
    typedef const value_type* const_iterator;

    // fields

    int Size;
    int Capacity;
    T* Data;

    // construction

    ImVector();
    ImVector(const ImVector<T>& src);

    // methods

    ImVector<T>& operator = (const ImVector<T>& src);
    void clear();
    void clear_delete();
    void clear_destruct();
    bool empty() const;
    int size() const;
    int size_in_bytes() const;
    int max_size() const;
    int capacity() const;
    T& operator [] (int i);
    const T& operator [] (int i) const;
    T* begin();
    const T* begin() const;
    T* end();
    const T* end() const;
    T& front();
    const T& front() const;
    T& back();
    const T& back() const;
    void swap(ImVector<T>& rhs);
    int _grow_capacity(int sz) const;
    void resize(int new_size);

    void resize(
        int new_size,
        const T& v
        );

    void shrink(int new_size);
    void reserve(int new_capacity);
    void reserve_discard(int new_capacity);
    void push_back(const T& v);
    void pop_back();
    void push_front(const T& v);
    T* erase(const T* it);

    T* erase(
        const T* it,
        const T* it_last
        );

    T* erase_unsorted(const T* it);

    T* insert(
        const T* it,
        const T& v
        );

    bool contains(const T& v) const;
    T* find(const T& v);
    const T* find(const T& v) const;
    int find_index(const T& v) const;
    bool find_erase(const T& v);
    bool find_erase_unsorted(const T& v);
    int index_from_ptr(const T* it) const;
};