SST 15.0
Structural Simulation Toolkit
componentExtension.h
1// Copyright 2009-2025 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-2025, 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
18namespace 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*/
28class ComponentExtension : public BaseComponent
29{
30
31public:
32 explicit ComponentExtension(ComponentId_t id);
33
34 virtual ~ComponentExtension() override = default;
35
36private:
37 ComponentExtension() = default; // For serialization only
38
39 ImplementSerializable(SST::ComponentExtension)
40 void serialize_order(SST::Core::Serialization::serializer& ser) override;
41};
42
43} // namespace SST
44
45#endif // SST_CORE_COMPONENTEXTENSION_H
ComponentExtension is a class that can be loaded using loadComponentExtension<T>(....
Definition componentExtension.h:29
This class is basically a wrapper for objects to declare the order in which their members should be s...
Definition serializer.h:45