XC Open source finite element analysis program
BeamIntegratorLoader.h
1 //----------------------------------------------------------------------------
2 // XC program; finite element analysis code
3 // for structural analysis and design.
4 //
5 // Copyright (C) Luis Claudio Pérez Tato
6 //
7 // This program derives from OpenSees <http://opensees.berkeley.edu>
8 // developed by the «Pacific earthquake engineering research center».
9 //
10 // Except for the restrictions that may arise from the copyright
11 // of the original program (see copyright_opensees.txt)
12 // XC is free software: you can redistribute it and/or modify
13 // it under the terms of the GNU General Public License as published by
14 // the Free Software Foundation, either version 3 of the License, or
15 // (at your option) any later version.
16 //
17 // This software is distributed in the hope that it will be useful, but
18 // WITHOUT ANY WARRANTY; without even the implied warranty of
19 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 // GNU General Public License for more details.
21 //
22 //
23 // You should have received a copy of the GNU General Public License
24 // along with this program.
25 // If not, see <http://www.gnu.org/licenses/>.
26 //----------------------------------------------------------------------------
27 //BeamIntegratorLoader.h
28 
29 #ifndef BEAMINTEGRATORLOADER_H
30 #define BEAMINTEGRATORLOADER_H
31 
32 #include "Loader.h"
33 #include <map>
34 
35 namespace XC {
36 class BeamIntegration;
37 
42  {
43  public:
44  typedef std::map<std::string,BeamIntegration *> map_beam_integrators;
45  typedef map_beam_integrators::const_iterator const_iterator;
46  typedef map_beam_integrators::iterator iterator;
47  private:
48  map_beam_integrators beam_integrators;
49  void libera(void);
51  BeamIntegratorLoader &operator=(const BeamIntegratorLoader &otro);
52  protected:
53  friend class ElementLoader;
54  public:
56  const map_beam_integrators &Map(void) const;
57  const_iterator begin(void) const;
58  const_iterator end(void) const;
59  iterator begin(void);
60  iterator end(void);
61  const_iterator find(const std::string &str) const;
62  iterator find(const std::string &str);
63  BeamIntegration *find_ptr(const std::string &str);
64  const BeamIntegration *find_ptr(const std::string &nmb) const;
65 
66  inline size_t size(void) const
67  { return beam_integrators.size(); }
68 
69  bool exists(const std::string &nmb) const;
70  BeamIntegration *newBI(const std::string &,const std::string &);
71  BeamIntegration &get(const std::string &);
72 
73  ~BeamIntegratorLoader(void);
74  inline void clearAll(void)
75  { libera(); }
76  };
77 
78 } // end of XC namespace
79 
80 #endif
const map_beam_integrators & Map(void) const
Returns a reference to the beam integrator container.
Definition: BeamIntegratorLoader.cc:87
const_iterator begin(void) const
Returns an iterator which points to principio de la lista.
Definition: BeamIntegratorLoader.cc:91
bool exists(const std::string &nmb) const
True if integrator named nmb exists.
Definition: BeamIntegratorLoader.cc:192
const_iterator find(const std::string &str) const
Si encuentra el BeamIntegrator cuyo nombre se pasa as parameter returns an iterator which points to m...
Definition: BeamIntegratorLoader.cc:104
Finite element model generation tools.
Definition: Preprocessor.h:58
Element creation manager.
Definition: ElementLoader.h:39
Beam integrators handler.
Definition: BeamIntegratorLoader.h:41
BeamIntegration * newBI(const std::string &, const std::string &)
Defines a new beam integrator scheme.
Definition: BeamIntegratorLoader.cc:170
Base class for the preprocessor objects that create model entities: nodes, elements, loads, etc.
Definition: Loader.h:50
================================================================================
Definition: ContinuaReprComponent.h:34
Base class for integration on beam elements.
Definition: BeamIntegration.h:73
const_iterator end(void) const
Returns an iterator apuntando después del final de la lista.
Definition: BeamIntegratorLoader.cc:94
BeamIntegration * find_ptr(const std::string &str)
Si encuentra el BeamIntegrator cuyo nombre se pasa as parameter returns a pointer al mismo...
Definition: BeamIntegratorLoader.cc:113