====== Use-statements ====== ===== use_clause ===== use selected_name { , selected_name } ; ===== Parents ===== * entity_declarative_part * architecture_declarative_part * configuration_declarative_part * package * package_body * block_declarative_part * function_declarative_item * procedure_declarative_item * process_declarative_item ===== Comment ===== The **USE** -statement can also be placed as a context-statement in front of every library module such as entity, architecture, package, package body and configuration. ===== Examples ===== All packages from the default-library //work// are integrated. USE work. ALL ; ---- All elements of the package //my_package// from the library //work// are integrated. USE work.my_package. ALL ; ---- The function //my_function// from the package //my_package// in the library //work// is integrated. USE work.my_package.my_function ; ---- All elements from the packages //pkg_1// and //pkg_3// are integrated; from package //pkg_2// only the procedure //proc_1// is integrated. USE lib_1.pkg_1. ALL , lib_1.pkg_2.proc_1, lib_2.pkg_3. ALL ; ===== Overloading resolution ===== Overloading is defined for [[.:Overloading|subprograms, operators]] and [[.:Scalar types|values of enumeration types]]. Overloading is the simultaneous [[.:Visibility and validity ranges|visibility]] of several subprograms, operators or of object values which have the same name and may belong to different enumeration types. By using overloading it is possible to extend a function's range of application. The several variants of a subprogram or an operator only differ in the type and number of their arguments and results. VHDL-programs recognise from the context (i.e. from the number and types of arguments) which of the visible variants is to be used. If a definite decision is not possible, i.e. if several visible alternative prove to be ``suitable`` for the required task an error is reported. With the concept of overloading, VHDL-models become easier to survey as it is not necessary to name a new designator for every variant of a certain functionality.