Method: Containers::CDeque#push_front

Defined in:
ext/containers/deque/deque.c

#push_front(obj) ⇒ Object



83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
# File 'ext/containers/deque/deque.c', line 83

static VALUE deque_push_front(VALUE self, VALUE obj) {
	deque *deque = get_deque_from_self(self);
	deque_node *node = create_node(obj);
	if(deque->front) {
		node->right = deque->front;
		deque->front->left = node;
		deque->front = node; 
	}
	else {
		deque->front = node;
		deque->back = node;
	}
	deque->size++;
	return obj;
}