removed final specifier
This commit is contained in:
@@ -18,7 +18,7 @@ namespace entt {
|
||||
* This class fills the gap by wrapping some flavors of `std::sort` in a
|
||||
* function object.
|
||||
*/
|
||||
struct std_sort final {
|
||||
struct std_sort {
|
||||
/**
|
||||
* @brief Sorts the elements in a range.
|
||||
*
|
||||
@@ -40,7 +40,7 @@ struct std_sort final {
|
||||
|
||||
|
||||
/*! @brief Function object for performing insertion sort. */
|
||||
struct insertion_sort final {
|
||||
struct insertion_sort {
|
||||
/**
|
||||
* @brief Sorts the elements in a range.
|
||||
*
|
||||
|
||||
@@ -19,8 +19,8 @@ namespace entt {
|
||||
* Because of that, a hashed string can also be used in constant expressions if
|
||||
* required.
|
||||
*/
|
||||
class hashed_string final {
|
||||
struct const_wrapper final {
|
||||
class hashed_string {
|
||||
struct const_wrapper {
|
||||
// non-explicit constructor on purpose
|
||||
constexpr const_wrapper(const char *str) ENTT_NOEXCEPT: str{str} {}
|
||||
const char *str;
|
||||
|
||||
@@ -40,7 +40,7 @@ namespace entt {
|
||||
* @tparam Types List of types for which to generate identifiers.
|
||||
*/
|
||||
template<typename... Types>
|
||||
class identifier final {
|
||||
class identifier {
|
||||
using tuple_type = std::tuple<std::decay_t<Types>...>;
|
||||
|
||||
template<typename Type, std::size_t... Indexes>
|
||||
|
||||
@@ -17,7 +17,7 @@ namespace entt {
|
||||
* @tparam Entity A valid entity type (see entt_traits for more details).
|
||||
*/
|
||||
template<bool Const, typename Entity>
|
||||
struct as_view final {
|
||||
struct as_view {
|
||||
/*! @brief Type of registry to convert. */
|
||||
using registry_type = std::conditional_t<Const, const entt::registry<Entity>, entt::registry<Entity>>;
|
||||
|
||||
|
||||
@@ -37,7 +37,7 @@ namespace entt {
|
||||
* @tparam Entity A valid entity type (see entt_traits for more details).
|
||||
*/
|
||||
template<typename Entity>
|
||||
class prototype final {
|
||||
class prototype {
|
||||
using basic_fn_type = void(const prototype &, registry<Entity> &, const Entity);
|
||||
using component_type = typename registry<Entity>::component_type;
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@ class registry;
|
||||
* @tparam Entity A valid entity type (see entt_traits for more details).
|
||||
*/
|
||||
template<typename Entity>
|
||||
class snapshot final {
|
||||
class snapshot {
|
||||
/*! @brief A registry is allowed to create snapshots. */
|
||||
friend class registry<Entity>;
|
||||
|
||||
@@ -197,7 +197,7 @@ private:
|
||||
* @tparam Entity A valid entity type (see entt_traits for more details).
|
||||
*/
|
||||
template<typename Entity>
|
||||
class snapshot_loader final {
|
||||
class snapshot_loader {
|
||||
/*! @brief A registry is allowed to create snapshot loaders. */
|
||||
friend class registry<Entity>;
|
||||
|
||||
@@ -343,7 +343,7 @@ private:
|
||||
* @tparam Entity A valid entity type (see entt_traits for more details).
|
||||
*/
|
||||
template<typename Entity>
|
||||
class continuous_loader final {
|
||||
class continuous_loader {
|
||||
using traits_type = entt_traits<Entity>;
|
||||
|
||||
void destroy(Entity entity) {
|
||||
|
||||
@@ -61,7 +61,7 @@ template<typename Entity>
|
||||
class sparse_set<Entity> {
|
||||
using traits_type = entt_traits<Entity>;
|
||||
|
||||
class iterator final {
|
||||
class iterator {
|
||||
friend class sparse_set<Entity>;
|
||||
|
||||
using direct_type = const std::vector<Entity>;
|
||||
@@ -519,7 +519,7 @@ class sparse_set<Entity, Type>: public sparse_set<Entity> {
|
||||
using traits_type = entt_traits<Entity>;
|
||||
|
||||
template<bool Const, bool = std::is_empty_v<Type>>
|
||||
class iterator final {
|
||||
class iterator {
|
||||
friend class sparse_set<Entity, Type>;
|
||||
|
||||
using instance_type = std::conditional_t<Const, const std::vector<Type>, std::vector<Type>>;
|
||||
@@ -627,7 +627,7 @@ class sparse_set<Entity, Type>: public sparse_set<Entity> {
|
||||
};
|
||||
|
||||
template<bool Const>
|
||||
class iterator<Const, true> final {
|
||||
class iterator<Const, true> {
|
||||
friend class sparse_set<Entity, Type>;
|
||||
|
||||
using instance_type = std::conditional_t<Const, const Type, Type>;
|
||||
|
||||
@@ -68,7 +68,7 @@ class registry;
|
||||
* @tparam Component Types of components iterated by the view.
|
||||
*/
|
||||
template<typename Entity, typename... Component>
|
||||
class persistent_view final {
|
||||
class persistent_view {
|
||||
static_assert(sizeof...(Component));
|
||||
|
||||
/*! @brief A registry is allowed to create views. */
|
||||
@@ -359,7 +359,7 @@ private:
|
||||
* @tparam Component Types of components iterated by the view.
|
||||
*/
|
||||
template<typename Entity, typename... Component>
|
||||
class view final {
|
||||
class view {
|
||||
static_assert(sizeof...(Component) > 1);
|
||||
|
||||
/*! @brief A registry is allowed to create views. */
|
||||
@@ -714,7 +714,7 @@ private:
|
||||
* @tparam Component Type of component iterated by the view.
|
||||
*/
|
||||
template<typename Entity, typename Component>
|
||||
class view<Entity, Component> final {
|
||||
class view<Entity, Component> {
|
||||
/*! @brief A registry is allowed to create views. */
|
||||
friend class registry<Entity>;
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ namespace entt {
|
||||
* @tparam Service Type of service managed by the locator.
|
||||
*/
|
||||
template<typename Service>
|
||||
struct service_locator final {
|
||||
struct service_locator {
|
||||
/*! @brief Type of service offered. */
|
||||
using service_type = Service;
|
||||
|
||||
|
||||
@@ -41,7 +41,7 @@ namespace internal {
|
||||
struct meta_type_node;
|
||||
|
||||
|
||||
struct meta_prop_node final {
|
||||
struct meta_prop_node {
|
||||
meta_prop_node * const next;
|
||||
meta_any(* const key)();
|
||||
meta_any(* const value)();
|
||||
@@ -49,7 +49,7 @@ struct meta_prop_node final {
|
||||
};
|
||||
|
||||
|
||||
struct meta_base_node final {
|
||||
struct meta_base_node {
|
||||
meta_base_node * const next;
|
||||
meta_type_node * const parent;
|
||||
meta_type_node *(* const type)();
|
||||
@@ -58,7 +58,7 @@ struct meta_base_node final {
|
||||
};
|
||||
|
||||
|
||||
struct meta_conv_node final {
|
||||
struct meta_conv_node {
|
||||
meta_conv_node * const next;
|
||||
meta_type_node * const parent;
|
||||
meta_type_node *(* const type)();
|
||||
@@ -67,7 +67,7 @@ struct meta_conv_node final {
|
||||
};
|
||||
|
||||
|
||||
struct meta_ctor_node final {
|
||||
struct meta_ctor_node {
|
||||
using size_type = std::size_t;
|
||||
meta_ctor_node * const next;
|
||||
meta_type_node * const parent;
|
||||
@@ -79,14 +79,14 @@ struct meta_ctor_node final {
|
||||
};
|
||||
|
||||
|
||||
struct meta_dtor_node final {
|
||||
struct meta_dtor_node {
|
||||
meta_type_node * const parent;
|
||||
bool(* const invoke)(meta_handle);
|
||||
meta_dtor(* const meta)();
|
||||
};
|
||||
|
||||
|
||||
struct meta_data_node final {
|
||||
struct meta_data_node {
|
||||
const hashed_string name;
|
||||
meta_data_node * const next;
|
||||
meta_type_node * const parent;
|
||||
@@ -100,7 +100,7 @@ struct meta_data_node final {
|
||||
};
|
||||
|
||||
|
||||
struct meta_func_node final {
|
||||
struct meta_func_node {
|
||||
using size_type = std::size_t;
|
||||
const hashed_string name;
|
||||
meta_func_node * const next;
|
||||
@@ -116,7 +116,7 @@ struct meta_func_node final {
|
||||
};
|
||||
|
||||
|
||||
struct meta_type_node final {
|
||||
struct meta_type_node {
|
||||
const hashed_string name;
|
||||
meta_type_node * const next;
|
||||
meta_prop_node * const prop;
|
||||
@@ -291,7 +291,7 @@ inline auto ctor(std::index_sequence<Indexes...>, const meta_type_node *node) EN
|
||||
* of pointers. This will greatly improve the use of the cache, thus increasing
|
||||
* the overall performance.
|
||||
*/
|
||||
class meta_any final {
|
||||
class meta_any {
|
||||
/*! @brief A meta handle is allowed to _inherit_ from a meta any. */
|
||||
friend class meta_handle;
|
||||
|
||||
@@ -603,7 +603,7 @@ private:
|
||||
* responsible for ensuring that the target object remains alive for the entire
|
||||
* interval of use of the handle.
|
||||
*/
|
||||
class meta_handle final {
|
||||
class meta_handle {
|
||||
meta_handle(int, meta_any &any) ENTT_NOEXCEPT
|
||||
: node{any.node},
|
||||
instance{any.instance}
|
||||
@@ -722,7 +722,7 @@ inline bool operator!=(const meta_any &lhs, const meta_any &rhs) ENTT_NOEXCEPT {
|
||||
* A meta property is an opaque container for a key/value pair.<br/>
|
||||
* Properties are associated with any other meta object to enrich it.
|
||||
*/
|
||||
class meta_prop final {
|
||||
class meta_prop {
|
||||
/*! @brief A meta factory is allowed to create meta objects. */
|
||||
template<typename> friend class meta_factory;
|
||||
|
||||
@@ -792,7 +792,7 @@ inline bool operator!=(const meta_prop &lhs, const meta_prop &rhs) ENTT_NOEXCEPT
|
||||
* A meta base is an opaque container for a base class to be used to walk
|
||||
* through hierarchies.
|
||||
*/
|
||||
class meta_base final {
|
||||
class meta_base {
|
||||
/*! @brief A meta factory is allowed to create meta objects. */
|
||||
template<typename> friend class meta_factory;
|
||||
|
||||
@@ -867,7 +867,7 @@ inline bool operator!=(const meta_base &lhs, const meta_base &rhs) ENTT_NOEXCEPT
|
||||
* A meta conversion function is an opaque container for a conversion function
|
||||
* to be used to convert a given instance to another type.
|
||||
*/
|
||||
class meta_conv final {
|
||||
class meta_conv {
|
||||
/*! @brief A meta factory is allowed to create meta objects. */
|
||||
template<typename> friend class meta_factory;
|
||||
|
||||
@@ -942,7 +942,7 @@ inline bool operator!=(const meta_conv &lhs, const meta_conv &rhs) ENTT_NOEXCEPT
|
||||
* A meta constructor is an opaque container for a function to be used to
|
||||
* construct instances of a given type.
|
||||
*/
|
||||
class meta_ctor final {
|
||||
class meta_ctor {
|
||||
/*! @brief A meta factory is allowed to create meta objects. */
|
||||
template<typename> friend class meta_factory;
|
||||
|
||||
@@ -1072,7 +1072,7 @@ inline bool operator!=(const meta_ctor &lhs, const meta_ctor &rhs) ENTT_NOEXCEPT
|
||||
* A meta destructor is an opaque container for a function to be used to
|
||||
* destroy instances of a given type.
|
||||
*/
|
||||
class meta_dtor final {
|
||||
class meta_dtor {
|
||||
/*! @brief A meta factory is allowed to create meta objects. */
|
||||
template<typename> friend class meta_factory;
|
||||
|
||||
@@ -1146,7 +1146,7 @@ inline bool operator!=(const meta_dtor &lhs, const meta_dtor &rhs) ENTT_NOEXCEPT
|
||||
* A meta data is an opaque container for a data member associated with a given
|
||||
* type.
|
||||
*/
|
||||
class meta_data final {
|
||||
class meta_data {
|
||||
/*! @brief A meta factory is allowed to create meta objects. */
|
||||
template<typename> friend class meta_factory;
|
||||
|
||||
@@ -1303,7 +1303,7 @@ inline bool operator!=(const meta_data &lhs, const meta_data &rhs) ENTT_NOEXCEPT
|
||||
* A meta function is an opaque container for a member function associated with
|
||||
* a given type.
|
||||
*/
|
||||
class meta_func final {
|
||||
class meta_func {
|
||||
/*! @brief A meta factory is allowed to create meta objects. */
|
||||
template<typename> friend class meta_factory;
|
||||
|
||||
@@ -1471,7 +1471,7 @@ inline bool operator!=(const meta_func &lhs, const meta_func &rhs) ENTT_NOEXCEPT
|
||||
* A meta type is the starting point for accessing a reflected type, thus being
|
||||
* able to work through it on real objects.
|
||||
*/
|
||||
class meta_type final {
|
||||
class meta_type {
|
||||
/*! @brief A meta factory is allowed to create meta objects. */
|
||||
template<typename> friend class meta_factory;
|
||||
|
||||
|
||||
@@ -42,8 +42,8 @@ namespace entt {
|
||||
* @tparam Delta Type to use to provide elapsed time.
|
||||
*/
|
||||
template<typename Delta>
|
||||
class scheduler final {
|
||||
struct process_handler final {
|
||||
class scheduler {
|
||||
struct process_handler {
|
||||
using instance_type = std::unique_ptr<void, void(*)(void *)>;
|
||||
using update_fn_type = bool(process_handler &, Delta, void *);
|
||||
using abort_fn_type = void(process_handler &, bool);
|
||||
@@ -55,7 +55,7 @@ class scheduler final {
|
||||
next_type next;
|
||||
};
|
||||
|
||||
struct continuation final {
|
||||
struct continuation {
|
||||
continuation(process_handler *handler)
|
||||
: handler{handler}
|
||||
{
|
||||
|
||||
@@ -28,7 +28,7 @@ class resource_cache;
|
||||
* @tparam Resource Type of resource managed by a handle.
|
||||
*/
|
||||
template<typename Resource>
|
||||
class resource_handle final {
|
||||
class resource_handle {
|
||||
/*! @brief Resource handles are friends of their caches. */
|
||||
friend class resource_cache<Resource>;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user