##
# py-spacemap root package
# http://code.google.com/p/py-spacemap
##

"""
This module provides simple class to work with spacemaps, objects that marks
some portions of given range.

Imagine that we have range of 10 bytes. So we want to mark bytes 2 - 3 as used
and also 8 - 9. I know this just a rough example.

Any range can be given as pair x:y where x is part of the marked range and y -
next free space. In mathematical notation this is equal to [x:y).

Module also can:

 - autoshrink maps, i.e. [2:3),[3:6) = [2:6);

 - substract maps, the product of A - B is all space in A that is not covered
by B, i.e. [2:10) - [5:7) = [2:5),[7,10);

 - get intersection (logical or), the product of A and B is all space that can
be found both in A and in B, i.e. [2:10) and [5:15) = [5:10);

 - compare maps.

more will be added soon...
"""

__all__ = [
	'__author__',
	'__date__',
	'__version__',
	'__docformat__',
	'version',
	'version_info',
	'SpaceMap',
	'test',
]

# Optional.
try:
	from .project import version_info, version, author as __author__, date as __date__
	__version__ = version
	from .test import test
except ImportError:
	pass

from .spacemap import SpaceMap
