Coriolis Core (CRL) Documentation


AllianceLibrary.h
1 // -*- C++ -*-
2 //
3 // This file is part of the Coriolis Software.
4 // Copyright (c) UPMC 2008-2018, All Rights Reserved
5 //
6 // +-----------------------------------------------------------------+
7 // | C O R I O L I S |
8 // | Alliance / Hurricane Interface |
9 // | |
10 // | Author : Jean-Paul CHAPUT |
11 // | E-mail : Jean-Paul.Chaput@lip6.fr |
12 // | =============================================================== |
13 // | C++ Header : "./crlcore/AllianceLibrary.h" |
14 // +-----------------------------------------------------------------+
15 
16 
17 #pragma once
18 #include <string>
19 #include <vector>
20 #include "hurricane/Name.h"
21 #include "hurricane/Slot.h"
22 
23 namespace Hurricane {
24  class Library;
25 }
26 
27 
28 namespace CRL {
29 
30  using std::vector;
33  using Hurricane::Name;
34  using Hurricane::Library;
35  using Hurricane::Record;
36  using Hurricane::_TName;
37 
38 
39 // -------------------------------------------------------------------
40 // Class : "CRL::AllianceLibrary".
41 
43 
44  public:
46  AllianceLibrary ( const Name& path, Library* library=NULL );
47  AllianceLibrary& operator= ( const AllianceLibrary& directory );
48  AllianceLibrary& operator= ( const std::string& path );
49  inline const Name& getPath () const;
50  inline Library* getLibrary () const;
51  void saveCells () const;
52  void saveCATAL () const;
53  inline void setPath ( std::string );
54  void toJson ( JsonWriter* ) const;
55  inline std::string _getTypeName () const;
56  std::string _getString () const;
57  Record* _getRecord () const;
58 
59  protected:
60  Name _path;
61  Library* _library;
62 
63  };
64 
65 
66  typedef vector<AllianceLibrary*> AllianceLibraries;
67 
68 
69 // Inline Functions.
70  inline const Name& AllianceLibrary::getPath () const { return _path; }
71  inline Library* AllianceLibrary::getLibrary () const { return _library; }
72  inline std::string AllianceLibrary::_getTypeName () const { return _TName("AllianceLibrary"); }
73  inline void AllianceLibrary::setPath ( std::string path ) { _path=path; }
74 
75 
76 // -------------------------------------------------------------------
77 // Class : "JsonAllianceLibrary".
78 
79  class JsonAllianceLibrary : public JsonObject {
80  public:
81  static void initialize ();
82  JsonAllianceLibrary ( unsigned long flags );
83  virtual std::string getTypeName () const;
84  virtual JsonAllianceLibrary* clone ( unsigned long flags ) const;
85  virtual void toData ( JsonStack& );
86  };
87 
88 
89 } // CRL namespace.
90 
91 
92 INSPECTOR_P_SUPPORT(CRL::AllianceLibrary);
A small wrapper around Hurricane::Library.
Definition: AllianceLibrary.h:42
AllianceLibrary(const Name &path, Library *library=NULL)
const Name & getPath() const
Definition: AllianceLibrary.h:70
Library * getLibrary() const
Definition: AllianceLibrary.h:71
The namespace of Coriolis Core.
Definition: AcmSigda.h:28


Generated by doxygen 1.9.1 on Wed Nov 20 2024 Return to top of page
Coriolis Core (CRL) Copyright © 2008-2020 Sorbonne Universite, All rights reserved