Property definitions

core $ Ref :: defaultinit
# A collection that contains only one item.
#
# Used to pass arguments by reference.
#
# Also used when one want to give a single element when a full
# collection is expected
class Ref[E]
	super Collection[E]

	redef fun first do return item

	redef fun is_empty do return false

	redef fun length do return 1

	redef fun has(an_item) do return item == an_item

	redef fun has_only(an_item) do return item == an_item

	redef fun count(an_item)
	do
		if item == an_item then
			return 1
		else
			return 0
		end
	end

	redef fun iterator do return new RefIterator[E](self)

	# The stored item
	var item: E is writable
end
lib/core/collection/abstract_collection.nit:349,1--381,3