标准库类型命名的统一化与规范化——“TypeName.hpp”
更新日志
2022年3月29日
- 制定了本库的命名规范;
- 基本完成了本库的代码;
命名规范
- 命名空间采用缩写的小写字母;
- 类型名模仿C标准库采用“下划线”命名格式;
- 变量名(包括参数名)模仿C++标准库采用“下划线”命名格式;
- 模仿C与C++标准库,常量、宏及其参数完全采用大写字母,单词间用下划线“_”连接;
- 在标识符可能重复的时候,采用“匈牙利命名法”;
注意事项
仅当把本库在所有需要重命名类型名称的标准库之后引入时才能发挥作用!
例如
#include <cstdio>
#include <vector>
#include "TypeName.hpp"
#include "TypeName.hpp"
#include <queue>
#include <map>
源代码
#ifndef TYPENAME_HPP
#define TYPENAME_HPP
#include <cstdint>
using std::size_t;
#define TYPEDEF_INT(CNT_BITS) \
using std::int##CNT_BITS##_t;
#define TYPEDEF_UINT(CNT_BITS) \
using std::uint##CNT_BITS##_t;
TYPEDEF_INT(8)
TYPEDEF_INT(16)
TYPEDEF_INT(32)
TYPEDEF_INT(64)
TYPEDEF_UINT(8)
TYPEDEF_UINT(16)
TYPEDEF_UINT(32)
TYPEDEF_UINT(64)
using c_string_t = char *;
using c_string_reference_t = char *const;
using const_c_string_t = const char *const;
using const_c_string_reference_t = const char *const;
#define string_t std::string
#define initializer_list_t std::initializer_list
#define array_t std::array
#define dynamic_array_t std::vector
#define deque_t std::deque
#define forward_list_t std::forward_list
#define list_t std::list
#define pair_t std::pair
#define set_t std::set
#define map_t std::map
#define multiset_t std::multiset
#define multimap_t std::multimap
#define unordered_set_t std::unordered_set
#define unordered_map_t std::unordered_map
#define unordered_multiset_t std::unordered_multiset
#define unordered_multimap_t std::unordered_multimap
#define stack_t std::stack
#define queue_t std::queue
#define heap_t std::priority_queue
#define file_t std::FILE
#define ofstream_t std::ofstream
#define ifstream_t std::ifstream
#define fstream_t std::fstream
#define ostream_t std::ostream
#define istream_t std::istream
#define iostream_t std::iostream
#endif
|