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"

相关推荐
DIY机器人工房2 小时前
一个可以检测本机的字节顺序,并对任意数据进行字节顺序的反转操作的代码。
嵌入式硬件·算法·嵌入式·diy机器人工房
新手小新3 小时前
C++游戏开发(2)
开发语言·前端·c++
杰克尼4 小时前
11. 盛最多水的容器
算法·leetcode·职场和发展
程序员编程指南5 小时前
Qt 嵌入式界面优化技术
c语言·开发语言·c++·qt
程序员Xu6 小时前
【OD机试题解法笔记】查找接口成功率最优时间段
笔记·算法
逝雪Yuki6 小时前
数据结构与算法——字典(前缀)树的实现
数据结构·c++·字典树·前缀树·左程云
技术思考者6 小时前
Leetcode - 反转字符串
数据结构·算法·leetcode
卷卷的小趴菜学编程6 小时前
Qt-----初识
开发语言·c++·qt·sdk·qt介绍
程序员编程指南7 小时前
Qt 开发 IDE 插件开发指南
c语言·c++·ide·qt·elasticsearch
SKYDROID云卓小助手7 小时前
无人设备遥控器之多设备协同技术篇
网络·人工智能·嵌入式硬件·算法·信号处理