Well this is not a Selenium functionality, but rather an XPath functionality. Basically, :: separates an axis name from a node test in an XPath expression. And that above is actually XPath syntax is.
Similar things you can do are:
child::* -> Selects all the child elements of the current node
attribute::* -> Selects all the attributes of the current node
child::text() -> Selects the entire text present in the child node of current node
child::node() -> Selects every child node of the current node