KLayout Manual: Main Index » Class Index » API reference - Class Library

API reference - Class Library

Notation used in Ruby API documentation

Description: A Library

A library is basically a wrapper around a layout object. The layout object provides cells and potentially PCells that can be imported into other layouts.

The library provides a name which is used to identify the library and a description which is used for identifying the library in a user interface.

After a library is created and the layout is filled, it must be registered using the register method.

This class has been introduced in version 0.22.

Public constructors

new LibrarynewCreates a new, empty library

Public methods

voidcreateEnsures the C++ object is created
[const]stringdescriptionReturns the libraries' description text
voiddescription=(string description)Sets the libraries' description text
voiddestroyExplicitly destroy the object
[const]booldestroyed?Returns a value indicating whether the object was already destroyed
[const]unsigned intidReturns the library's ID
[const]boolis_const_object?Returns a value indicating whether the reference is a const reference
LayoutlayoutThe layout object where the cells reside that this library defines
[const]Layoutlayout_constThe layout object where the cells reside that this library defines (const version)
[const]stringnameReturns the libraries' name
voidregister(string name)Registers the library with the given name

Public static methods and constants

Library ptrlibrary_by_name(string name)Gets a library by name
string[]library_namesReturns a list of the names of all libraries registered in the system.

Detailed description

void create

Description: Ensures the C++ object is created

Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created.

[const] string description

Description: Returns the libraries' description text

void description=(string description)

Description: Sets the libraries' description text

void destroy

Description: Explicitly destroy the object

Explicitly destroy the object on C++ side if it was owned by the Ruby interpreter. Subsequent access to this object will throw an exception. If the object is not owned by Ruby, this method will do nothing.

[const] bool destroyed?

Description: Returns a value indicating whether the object was already destroyed

This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself.

[const] unsigned int id

Description: Returns the library's ID

The ID is set when the library is registered and cannot be changed

[const] bool is_const_object?

Description: Returns a value indicating whether the reference is a const reference

This method returns true, if self is a const reference. In that case, only const methods may be called on self.

Layout layout

Description: The layout object where the cells reside that this library defines

[const] Layout layout_const

Description: The layout object where the cells reside that this library defines (const version)

[static] Library ptr library_by_name(string name)

Description: Gets a library by name

Returns the library object for the given name. If the name is not a valid library name, nil is returned.

[static] string[] library_names

Description: Returns a list of the names of all libraries registered in the system.

[const] string name

Description: Returns the libraries' name

The name is set when the library is registered and cannot be changed

[static] new Library new

Description: Creates a new, empty library

void register(string name)

Description: Registers the library with the given name

This method can be called in the constructor to register the library after the layout object has been filled with content. If a library with that name already exists, it will be replaced with this library.

This method will set the libraries' name.