This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
zhangshuo1-domain-classific…/Common.h
2019-12-31 11:03:59 +08:00

199 lines
4.5 KiB
C++

#pragma once
//常用头文件和using声明
//20191122-1653
//c库
#include <cstdio>//cio
#include <cassert>//断言
#include <cstddef>//大小类型
#include <cstdlib>//杂项
#include <cctype>//字符分类
#include <cstring>//字符串处理
#include <cmath>//数学
#include <clocale>//本地化
#include <cstdint>//类型扩展
#include <ctime>//时间
#include <cstdarg>//变长参数
//io相关
#include <iostream>//c++io
using std::cin;
using std::cout;
using std::cerr;
using std::endl;
using std::flush;
using std::ends;
using std::ios_base;
using std::istream;
using std::ostream;
#include <sstream>//字符串io
using std::istringstream;
using std::ostringstream;
using std::stringstream;
#include <fstream>//文件io
using std::ifstream;
using std::ofstream;
using std::fstream;
#include <iomanip>//高级io
//泛型相关
#include <type_traits>//类型处理
using std::enable_if;
#include<limits>//数值极限
using std::numeric_limits;
#include <numeric>//数值算法
#include <algorithm>//算法
#include <initializer_list>//列表
using std::initializer_list;
#include <utility>//基础容器
using std::swap;
using std::pair;
using std::make_pair;
using std::piecewise_construct;
using std::declval;
#include <tuple>//元组
using std::tuple;
using std::tuple_size;
using std::tuple_element;
using std::make_tuple;
//using std::tie;
using std::forward_as_tuple;
using std::ignore;
#include <functional>//函数
using std::function;
using std::hash;
//using std::ref;
//using std::cref;
namespace placeholders = std::placeholders;
#include <iterator>//迭代器
using std::iterator_traits;
using std::reverse_iterator;
using std::move_iterator;
using std::make_move_iterator;
using std::back_insert_iterator;
using std::back_inserter;
using std::front_insert_iterator;
using std::front_inserter;
using std::insert_iterator;
using std::inserter;
//容器相关
#include <string>//字符串
using std::string;
using std::wstring;
using std::u16string;
using std::u32string;
#include <vector>//向量
using std::vector;
#include <array>//数组
using std::array;
#include <deque>//双向向量
using std::deque;
#include <list>//链表
using std::list;
#include <set>//稳定排序二叉树
//using std::set;
using std::multiset;
#include <map>//稳定排序二叉树对
//using std::map;
using std::multimap;
#include <unordered_set>//哈希表
using std::unordered_set;
using std::unordered_multiset;
#include <unordered_map>//哈希表对
using std::unordered_map;
using std::unordered_multimap;
#include <queue>//队列
using std::priority_queue;
//工具类相关
#include <memory>//内存
using std::shared_ptr;
using std::make_shared;
using std::unique_ptr;
//using std::make_unique;
#include <exception>//异常
using std::exception;
#include <stdexcept>//更多异常
using std::runtime_error;
#include <random>//随机数
using std::default_random_engine;
using std::mt19937;
using std::mt19937_64;
using std::random_device;
using std::uniform_int_distribution;
using std::uniform_real_distribution;
using std::discrete_distribution;
#include <ratio>//比例
using std::ratio;
#include <complex>//复数
using std::complex;
#include <regex>//正则表达式
using std::regex;
using std::wregex;
using std::regex_error;
using std::cmatch;
using std::smatch;
using std::wcmatch;
using std::wsmatch;
using std::cregex_iterator;
using std::sregex_iterator;
using std::wcregex_iterator;
using std::wsregex_iterator;
using std::csub_match;
using std::ssub_match;
using std::wcsub_match;
using std::wssub_match;
//跨平台相关
#include <locale>//本地化
#include <chrono>//时钟
using std::chrono::time_point;
using std::chrono::time_point_cast;
using std::chrono::duration;
using std::chrono::duration_cast;
using std::chrono::system_clock;
using std::chrono::steady_clock;
namespace chrono = std::chrono;
#include <thread>//线程
using std::thread;
namespace this_thread = std::this_thread;
#include <mutex>//互斥
using std::mutex;
using std::timed_mutex;
using std::recursive_mutex;
using std::recursive_timed_mutex;
using std::lock_guard;
using std::unique_lock;
using std::defer_lock;
using std::try_to_lock;
using std::adopt_lock;
using std::once_flag;
#include <condition_variable>//线程同步
using std::condition_variable;
using std::condition_variable_any;
using std::cv_status;
#include <future>//期货
using std::future;
using std::shared_future;
#include <atomic>//原子库
using std::atomic;
using std::atomic_flag;
using std::memory_order;
using std::memory_order_relaxed;
using std::memory_order_consume;
using std::memory_order_acquire;
using std::memory_order_release;
using std::memory_order_acq_rel;
using std::memory_order_seq_cst;
//标准库扩展
#include "UsedMacro.h"
#include "TypeExtend.h"
#include "IoOperator.h"
#include "StruAndAlgo.h"