SST  14.1.0
StructuralSimulationToolkit
componentExtension.h
1 // Copyright 2009-2024 NTESS. Under the terms
2 // of Contract DE-NA0003525 with NTESS, the U.S.
3 // Government retains certain rights in this software.
4 //
5 // Copyright (c) 2009-2024, NTESS
6 // All rights reserved.
7 //
8 // This file is part of the SST software package. For license
9 // information, see the LICENSE file in the top level directory of the
10 // distribution.
11 
12 #ifndef SST_CORE_COMPONENTEXTENSION_H
13 #define SST_CORE_COMPONENTEXTENSION_H
14 
15 #include "sst/core/baseComponent.h"
16 #include "sst/core/warnmacros.h"
17 
18 namespace SST {
19 
20 /**
21  ComponentExtension is a class that can be loaded using
22  loadComponentExtension<T>(...). All the calls to the BaseComponent
23  APIU will act like they are happening in the nearest SubConmponent
24  or Component parent. Hierarchy will not be kept in the case were a
25  ComponentExtension is loaded into a ComponentExtension; they will
26  both act like they are in the parent.
27 */
29 {
30 
31 public:
32  ComponentExtension(ComponentId_t id);
33 
34  virtual ~ComponentExtension() {};
35 
36 private:
37  // For serialization only
39 
40  ImplementSerializable(SST::ComponentExtension)
41  void serialize_order(SST::Core::Serialization::serializer& ser) override;
42 };
43 
44 } // namespace SST
45 
46 #endif // SST_CORE_COMPONENTEXTENSION_H
This class is basically a wrapper for objects to declare the order in which their members should be s...
Definition: serializer.h:43
ComponentExtension is a class that can be loaded using loadComponentExtension<T>(...).
Definition: componentExtension.h:28
Definition: action.cc:18
Main component object for the simulation.
Definition: baseComponent.h:62