Dawn/src/dawn/scene/SceneItemComponentList.hpp

38 lines
918 B
C++

// Copyright (c) 2023 Dominic Masters
//
// This software is released under the MIT License.
// https://opensource.org/licenses/MIT
#pragma once
#include "dawnlibs.hpp"
namespace Dawn {
struct SceneItemComponentRegister {
uint8_t i;
};
class SceneItemComponentList {
private:
std::vector<struct SceneItemComponentRegister> components;
protected:
/**
* Request the list to append a scene item component of type T
* to the registry.
*
* @tparam T Parameter type of the SceneItemComponent
*/
template<class T>
void append() {
struct SceneItemComponentRegister r;
this->components.push_back(r);
}
public:
/**
* Initialies the scene item component list. This constructor is generated
* at build time from the scene item component registry tool.
*/
SceneItemComponentList();
};
}