template<typename T> class deque{
deque();
deque(const deque@ other);
deque& opAssign(const deque@ other);
deque& swap(deque &inout other);
void SetDirectcomp(bool yesno);
int size();
void clear();
bool empty();
void push_back(T &in value);
void push_front(T &in value);
void pop_back();
void pop_front();
T& back();
T& front();
void insert(int index,const T &in value);
void insert(const deque_iterator<T> &in iterator, const T &in value);
void erase(int index);
void erase(int index_range_begin,int index_range_end);
void erase_value(const T &in value,bool all = false);
bool erase(const deque_iterator<T> &in iterator);
int erase(const deque_iterator<T> &in iterator_range_begin, const deque_iterator<T> &in iterator_range_end);
T& opIndex(int index);
deque_iterator<T> begin();
deque_iterator<T> end();
bool contains(T &in value);
int count(T &in value);
deque_iterator<T> find_iterator(const T &in value);
void sort(bool ascending);
void sort(aatc_funcpointer@ func,bool ascending)
void sort(aatc_funcdef_cmp_T@ func,bool ascending)
};