You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: gds_library.m
    path of file: ./repos/MatlabGDSPhotonicsToolbox/Functions/GDSII Library/Basic/@gds_library
    
    the code of the file until where you have to start completion: function glib = gds_library(lname, varargin);
%function glib = gds_library(lname, varargin);
%
% Constructor for the GDS library class.
% Libraries contain one or more GDS structures.
%
% lname :     a string with the name of the library
% glib :      the library object returned by the constructor
% varargin :  (Optional) EITHER one or more library property/value pairs
%                 'uunit'  the user unit in m. Default is 1e-6 = 1 um

    
function glib = gds_library(lname, varargin);
%function glib = gds_library(lname, varargin);
%
% Constructor for the GDS library class.
% Libraries contain one or more GDS structures.
%
% lname :     a string with the name of the library
% glib :      the library object returned by the constructor
% varargin :  (Optional) EITHER one or more library property/value pairs
%                 'uunit'  the user unit in m. Default is 1e-6 = 1 um
%                 'dbunit' the database unit in m. Default is 1e-9 = 1 nm
%                 'reflibs' a cell array of names of external reference libraries
%                 'fonts' a cell array of font file names.
%              OR a gds_structure, OR a cell array with gds_structure objects    

% Ulf Griesmann, NIST, June 2011

% check arguments
if nargin < 2 && ~ischar(lname) 
   error('gds_library :  first argument is missing or not a string');
end