text: /* Copyright 2014-2018 Rsyn
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   *     http://www.apache.org/licenses/LICENSE-2.0
   *
   * Unless required by applicable law or agreed to in writing, software
   * distributed under the License is distributed on an "AS IS" BASIS,
   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   * See the License for the specific language governing permissions and
   * limitations under the License.
   */
  
  namespace Rsyn {
  
  // -----------------------------------------------------------------------------
  
  //! @brief A proxy class representing the library (or set of libraries).
  //! @note  For now this class is kinda dummy and uses the design to do
  //! everything. It should gain importance when we separate more clearly design
  //! and library data.
  class Library : public Proxy<LibraryData> {
  friend class Session;
  public:
  	Library() {}
  
  	//! @brief Returns an iterable collection of all library cells in the
  	//!        design.
  	//! @todo  This should be removed once we concentrate everything library
  	//!        related in Rsyn::Library.
  	Range<ListCollection<LibraryCellData, LibraryCell>>
  	allLibraryCells();
  
  private:
  
  	Library(LibraryData * data) : Proxy(data) {}
  }; // end class
  
  // -----------------------------------------------------------------------------
  
  } // end method