Program Listing for File ElementData.hpp

Return to documentation for file (src/include/ElementData.hpp)

#ifndef SRC_INCLUDE_ELEMENTDATA_HPP
#define SRC_INCLUDE_ELEMENTDATA_HPP

#include "ExternalData.hpp"
#include "PhysicsData.hpp"
#include "PrognosticData.hpp"

namespace Nextsim {

class UnusedData : public BaseElementData {
};

template <class Phys>
class ElementData : public PrognosticData,
                    public PhysicsData,
                    public ExternalData,
                    public Phys,
                    public UnusedData,
                    public Configured<ElementData<Phys>> {
public:
    ElementData() = default;
    ~ElementData() = default;

    using PrognosticData::operator=;
    using PhysicsData::operator=;
    using ExternalData::operator=;
    using Phys::operator=;

    void configure() override
    {
        PrognosticData::configure();
        Phys::configure();
    }
};

} /* namespace Nextsim */

#endif /* SRC_INCLUDE_ELEMENTDATA_HPP */