3d游戏引擎的Utilities模块实现下

2.Utilities

#pragma once

#define USE_STL_VECTOR 1

#define USE_STL_DEQUE 1

#if USE_STL_VECTOR

#include <vector>

#include <utility>

#include <iostream>

#include <algorithm>

namespace primal::utl

{

template<typename T>

using vector = std::vector<T>;

template<typename T>

void erase_unordered(T& v, size_t index)

{

if(v.size() > 1)

{

std::iter_swap(v.begin() + index, v.end() - 1);

v.pop_back();

}

else

{

v.clear();

}

}

}

#else

#include "Vector.h"

namespace primal::utl

{

template<typename T>

void erase_unordered(T& v, size_t index)

{

v.erase_unordered(index);

}

}

#endif

#if USE_STL_DEQUE

#include <deque>

namespace primal::utl {

template<typename T>

using deque = std::deque<T>;

}

#endif

namespace primal::utl

{

}

#include "FreeList.h"

相关推荐
吴秋霖2 分钟前
【某音电商】protobuf聊天协议逆向
python·算法·protobuf
m0_5879589511 分钟前
C++中的命令模式变体
开发语言·c++·算法
似水এ᭄往昔21 分钟前
【数据结构】--链表OJ
数据结构·算法·链表
2501_9249526943 分钟前
代码生成器优化策略
开发语言·c++·算法
MORE_771 小时前
leecode100-划分区间-贪心算法
算法·贪心算法
Book思议-1 小时前
【数据结构实战】C语言实现栈的链式存储:从初始化到销毁,手把手教你写可运行代码
数据结构·算法·链表··408
Book思议-1 小时前
【数据结构实战】川剧 “扯脸” 与栈的 LIFO 特性 :用 C 语言实现 3 种栈结构
c语言·数据结构·算法·
3GPP仿真实验室2 小时前
【MATLAB源码】感知:CFAR 检测算法库
算法·matlab·目标跟踪
fengenrong2 小时前
20260324
c++·算法
qq_416018722 小时前
设计模式在C++中的实现
开发语言·c++·算法