Document the isl interface design guidelines with respect to constructors
These guidelines should help when deciding how to export
constructors in the future.
Note that the current code base already exports some functions where
the choice between unnamed constructor and named static function
is not completely obvious and the choices made before do not
necessarily match the new guidelines.
In particular, according to the guidelines, isl_union_access_info_from_sink
should have been exported as a static function.
The guidelines also do not clarify why isl_ast_build_alloc
is exported as an unnamed constructor while isl_ast_build_from_context
is exported as a static function.
Resolving these issues if left for future changes and should be done
in a way that preserves backward compatibility.
Signed-off-by: Tobias Grosser <tobias@grosser.es>
Signed-off-by: Sven Verdoolaege <sven.verdoolaege@gmail.com>