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
23namespace Hurricane {
24 class Library;
25}
26
27
28namespace CRL {
29
30 using std::vector;
31 using Hurricane::JsonObject;
32 using Hurricane::JsonStack;
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
92INSPECTOR_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
virtual std::string getTypeName() const=0
The namespace of Coriolis Core.
Definition AcmSigda.h:28


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